共计 2812 个字符,预计需要花费 8 分钟才能阅读完成。
欢送拜访我的 GitHub
https://github.com/zq2599/blog_demos
内容:所有原创文章分类汇总及配套源码,波及 Java、Docker、Kubernetes、DevOPS 等;
群晖和 K8S+
- 学习 K8S 时常常用到网络存储,于是想找个稳固的 NFS 服务,正好家里的群晖 DS218+ 长期开着,空间又短缺,用来提供 NFS 服务挺适合,本文就是设置和应用的过程备忘;
- 下图是 DS218+ 刚买来的样子,两块 NAS 硬盘,始终在稳固服务:
全文概览
- 设置 NFS;
- NFS 客户端装置 NFS 利用;
- K8S 上的设置;
- 创立存储卷;
- 创立 Tomcat
- 拜访 Tomcat 服务
环境信息
- 群晖零碎:DSM 6.2.2-24922 Update 4
- Kubernetes:1.15
- Kubernetes 宿主机:CentOS Linux release 7.7.1908
- Helm:2.16.1
参考文章
本文重点是 K8S 实战,因而须要肯定 K8S 根底,请参考:
- 《kubespray2.11 装置 kubernetes1.15》
- 《部署和体验 Helm(2.16.1 版本)》
- 《Ubuntu16 环境装置和应用 NFS》
如果您曾经筹备好了群晖、K8S、Helm,咱们就来实战吧。
设置 NFS
- 网页登录群晖,<font color=”blue”> 控制面板 -> 共享文件夹 </font>;
- 新增共享文件夹:
- 接下来是加密设置,这里为不设置加密,间接点击 <font color=”blue”> 下一步 </font>:
- 高级设置页面,请按需设置,这里为了简略间接 <font color=”blue”> 下一步 </font>:
- 点击利用即可创立文件夹,而后做 NFS 设置,如下图:
- 如下图,记下红框 1 中的 NFS 门路 <font color=”blue”>/volume1/nfs-tomcat</font>(前面会用到),而后点击红框 2:
- 除了 NFS 设置,还要给这个文件夹设置权限,<font color=”red”> 否则近程写入的时候会报错 </font>,如下图,关上 File Station 即可看到红框 2 中的 <font color=”blue”>nfs-tomcat</font>,这就是 NFS 目录对应的本地磁盘目录,在下面点击鼠标右键,抉择 <font color=”blue”> 属性 </font>:
- 在弹出的属性页面,减少一个权限配置,请依照您的理论须要设置,这里为了省事儿设为任何人都能操作:
至此,群晖上的 NFS 设置结束,接下来在 K8S 运行一个利用,应用这个 NFS 存储;
NFS 客户端装置
NFS 的使用者须要装置客户端,这里是 K8S 要用 NFS,因而要在 K8S 宿主机上安装客户端利用,对 CentOS 来说就是执行命令:<font color=”blue”>yum install nfs-utils -y</font>
创立存储卷(PersistentVolume 简称 PV)
PV 是 K8S 里罕用的存储类型,这里创立一个 NFS 类型的 PV:
- SSH 登录 K8S;
- 创立 namespace:<font color=”blue”>kubectl create namespace tomcat-test</font>
- 新建名为 <font color=”blue”>tomcat-test-pv.yaml</font> 的文件,内容如下,留神 <font color=”blue”>nfs.server</font> 的值,是群晖的 IP 地址,nfs.path 的值就是后面创立共享文件时记下来的 <font color=”blue”>/volume1/nfs-tomcat</font>:
apiVersion: v1
kind: PersistentVolume
metadata:
name: pv-tomcat-test
namespace: tomcat-test
labels:
pv: pv-tomcat-test
spec:
capacity:
storage: 10Gi
accessModes:
- ReadWriteOnce
persistentVolumeReclaimPolicy: Recycle
nfs:
path: /volume1/nfs-tomcat
server: 192.168.50.42
- 创立 PV:<font color=”blue”>kubectl apply -f tomcat-test-pv.yaml</font>
- 查看 PV,如下图,名为 <font color=”blue”>pv-tomcat-test</font> 的 PV 状态为 <font color=”red”>Available</font>,示意闲暇状态,能够被 K8S 应用:
- 当初 PV 创立胜利,接下来通过 Helm 创立 tomcat,来应用这个 PV;
创立 Tomcat
- 减少 helm 仓库 (带有 tomcat 的仓库):<font color=”blue”>helm repo add bitnami https://charts.bitnami.com/bi…</font>
- 下载 tomcat 的 chart:<font color=”blue”>helm fetch bitnami/tomcat</font>
- chart 下载胜利后,当前目录呈现 tomcat 配置压缩包 tomcat-6.2.4.tgz,解压:<font color=”blue”>tar -zxvf tomcat-6.2.4.tgz</font>
- 解压后呈现 tomcat 文件夹,进去后关上文件 <font color=”blue”>templates/pvc.yaml</font>,所有内容放弃不变,仅在开端增加下图红框中的内容:
- 上图红框中的内容很好了解:减少选择器,用上方才创立的 PV
- 回到 tomcat 文件夹上面,执行命令创立 tomcat:<font color=”blue”>helm install –name-template tomcat001 -f values.yaml . –namespace tomcat-test</font>
- 查看 PV 状态,可见曾经被应用 (另一个 PV 仍旧是闲暇状态,阐明在 <font color=”blue”>pvc.yaml</font> 中设置的选择器是无效的):
- 持续查看 pod 和 service,一切正常,同时发现 tomcat 的服务端口被映射到宿主机的 30512 端口:
- 浏览器拜访 <font color=”blue”> 宿主机 IP:30512</font>,能够失常关上 tomcat 欢送页面:
- 回到群晖网页,关上 File Station,可见 nfs-tomcat 目录下曾经写入了很多内容,都是 tomcat 的外部文件:
至此,K8S 胜利的用上了群晖提供的 NFS 服务,在今后的 K8S 学习中,有了稳固的 NFS 服务,并且得益于群晖文件系统的安全性,数据安全性也有了晋升;
欢送关注公众号:程序员欣宸
微信搜寻「程序员欣宸」,我是欣宸,期待与您一起畅游 Java 世界 …
https://github.com/zq2599/blog_demos
正文完