本篇文章为大家展示了kubernetes 中怎么使用NFS搭建动态存储卷,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。
安装环境
安装kubernetes、helm
参考资料,在node1、node2上安装kubernetes和helm;
安装NFS
$ sudo yum -y install nfs-utils rpcbind
$ sudo mkdir /var/nfs
$ sudo su //切换到root用户
$ echo "/var/nfs 192.168.0.0/24(rw,async,no_root_squash,no_all_squash,sync)" >> /etc/exports //配置共享目录
$ exit //退回原来用户
$ exportfs -r //让上面的配置生效
//必须先启动rpcbind服务,再启动nfs服务,这样才能让nfs服务在rpcbind服务上注册成功
$ sudo systemctl start rpcbind
$ sudo systemctl start nfs-server
检查服务是否启动成功
$ showmount -e localhost
Export list for localhost:
/var/nfs 192.168.0.0/24
设置开机启动
$ sudo systemctl enable rpcbind
$ sudo systemctl enable nfs-server
在客户端node2安装nfs-utils
**注意:所有kubernetes机器都需要安装nfs-utils,我就是没有在客户端安装nfs-utils,才卡在怎么测试PV、StorageClass、PVC都不通;
$ sudo yum install nfs-utils
可以参考资料,在客服端上测试NFS共享存储;
NFS作为动态存储卷
参考资料,在node1上使用helm安装NFS-Client Provisioner
$ helm install stable/nfs-client-provisioner --set nfs.server=x.x.x.x --set nfs.path=/exported/path --name nfs-client-provisioner
它会安装一个StorageClass
$ kubectl get sc
NAME PROVISIONER AGE
nfs-client cluster.local/nfs-client-provisioner 32h
设置默认StorageClass
使用PVC的时候需要创建并指定PV;如果没有创建PV,就会使用默认的StorageClass来创建相应的PV;否则PVC一直都是Pending的状态;
把上面创建StorageClass设置为默认的
$ kubectl patch storageclass nfs-client -p '{"metadata": {"annotations":{"storageclass.kubernetes.io/is-default-class":"true"}}}'
$ kubectl get sc
NAME PROVISIONER AGE
nfs-client (default) cluster.local/nfs-client-provisioner 32h
上述内容就是kubernetes 中怎么使用NFS搭建动态存储卷,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。