参考网站:
[NFS动态存储卷](https://choerodon.io/zh/docs/installation-configuration/steps/nfs/
[Centos7挂载NFS内容](https://blog.csdn.net/wenfeifang/article/details/83029067)
在k8s中,对数据持久化的需求不少,我们可以使用nfs服务,搭建一个nfs的本地存储服务,并在k8s上搭建客户端,分配给需要持久化数据的应用。
1、服务规划
服务器 | 系统 | IP | 作用 |
---|---|---|---|
nfs服务端 | centos7 | 192.168.2.13 | nfs存储服务器 |
k8s控制服务器 | centos7 | 192.168.2.12 | 能使用kubectl控制k8s集群的 |
2、安装nfs存储服务
在集群的每个服务器安装nfs-utils(192.168.2.13;192.168.2.12)
sudo yum install -y nfs-utils
3、配置nfs-server
在nfs服务端(192.168.2.13),创建共享目录:
mkdir /nfs_data
编辑/etc/exports文件添加需要共享目录,每个目录的设置独占一行,编写
/nfs_data 192.168.0.0/16(rw,sync,insecure,no_subtree_check,no_root_squash)
设置开机启动rpcbind和nfs服务
systemctl enable rpcbind.service
systemctl enable nfs-server.service
然后分别启动rpcbind和nfs服务:
systemctl start rpcbind.service
systemctl start nfs-server.service
检查nfs服务是否能正常访问
在客户机(192.168.2.12)使用命令检查:
shwomount -e 192.168.2.13
如果客户端不能访问,请查看是否是防火墙和selinux没有关闭或者设置对应值。
4、安装 nfs-client-provisioner
添加能下载nfs-client-provisioner的仓库
helm repo add c7n https://openchart.choerodon.com.cn/choerodon/c7n/
helm repo update
下载helm包
helm search c7n/nfs-client-provisioner
helm fetch c7n/nfs-client-provisioner
cd nfs-client-provisioner
修改values.yaml
nfs:
server: 192.168.2.13
path: /nfs_data
name: nfs-client
安装
cd nfs-client-provisioner
helm install --name nfs -namespace nfs -f values.yaml .
安装完成
kubectl get sc #查看是否出现nfs-client
来源:51CTO
作者:bestlope
链接:https://blog.51cto.com/bestlope/2449770