欢迎访问我的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网页登录群晖,控制面板->共享文件夹;
新增共享文件夹:
接下来是加密设置,这里为不设置加密,直接点击下一步:
高级设置页面,请按需设置,这里为了简单直接下一步:
点击应用即可创建文件夹,然后做NFS设置,如下图:
如下图,记下红框1中的NFS路径/volume1/nfs-tomcat(后面会用到),然后点击红框2:
除了NFS设置,还要给这个文件夹设置权限,否则远程写入的时候会报错,如下图,打开File Station即可看到红框2中的nfs-tomcat,这就是NFS目录对应的本地磁盘目录,在上面点击鼠标右键,选择属性:
在弹出的属性页面,增加一个权限配置,请按照您的实际需要设置,这里为了省事儿设为任何人都能操作:
至此,群晖上的NFS设置完毕,接下来在K8S运行一个应用,使用这个NFS存储; NFS客户端安装
NFS的使用者需要安装客户端,这里是K8S要用NFS,因此要在K8S宿主机上安装客户端应用,对CentOS来说就是执行命令:yum install nfs-utils -y
创建存储卷(PersistentVolume简称PV)PV是K8S里常用的存储类型,这里创建一个NFS类型的PV:
SSH登录K8S;
创建namespace:kubectl create namespace tomcat-test
新建名为tomcat-test-pv.yaml的文件,内容如下,注意nfs.server的值,是群晖的IP地址,nfs.path的值就是前面创建共享文件时记下来的/volume1/nfs-tomcat:
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:kubectl apply -f tomcat-test-pv.yaml