欢送拜访我的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: v1kind: PersistentVolumemetadata: name: pv-tomcat-test namespace: tomcat-test labels: pv: pv-tomcat-testspec: 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