kubernetes 中怎么使用NFS搭建动态存储卷
更新:HHH   时间:2023-1-7


本篇文章为大家展示了kubernetes 中怎么使用NFS搭建动态存储卷,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

安装环境

安装kubernetes、helm

参考资料,在node1、node2上安装kubernetes和helm;

安装NFS

  • 在node1上安装NFS Server

$ sudo yum -y install nfs-utils rpcbind

  • 在服务端node1上配置共享目录

$ 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    //让上面的配置生效
  • 在服务端启动NFS服务

//必须先启动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搭建动态存储卷,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注天达云行业资讯频道。

返回云计算教程...