环境:
OS:Centos 7
k8s:
[root@master mongo_yaml]# kubectl version
Client Version: v1.28.2
Kustomize Version: v5.0.4-0.20230601165947-6ce0bf390ce3
Server Version: v1.28.13
拓扑结构:1master 2nodes
#################################部署nfs服务器##################################
我们这里采用nfs做为pv,使用master节点做nfs服务器,当然nfs服务器也可以使用k8s外部的集群部署也可以.
1.安装nfs
[root@master ~]#yum -y install nfs-utils
[root@master ~]#yum -y install rpcbind
2.要创建nfs共享文件夹
[root@nfs data]# mkdir -p /data/mongo-1
[root@nfs data]# mkdir -p /data/mongo-2
[root@nfs data]# mkdir -p /data/mongo-3
[root@nfs data]# mkdir -p /data/mongo-1/data
[root@nfs data]# mkdir -p /data/mongo-2/data
[root@nfs data]# mkdir -p /data/mongo-3/data
[root@nfs data]# mkdir -p /data/mongo-1/key
[root@nfs data]# mkdir -p /data/mongo-2/key
[root@nfs data]# mkdir -p /data/mongo-3/key
创建3个副本的mongo的副本集,每个副本对应使用mongo-1,mongo-2,mongo-3 三个目录
3.编辑 /etc/exports 文件
[root@nfs data]# vim /etc/exports
#添加如下内容
/data/ *(rw,sync,no_root_squash)
4.保存退出后执行如下命令重启服务
systemctl restart rpcbind
systemctl restart nfs.service
systemctl enable nfs.service
5.执行 exportfs -v 命令可以显示出所有的共享目录
[root@master /]# exportfs -v
/data <world>(sync,wdelay,hide,no_subtree_check,sec=sys,rw,secure,no_root_squash,no_all_squash)
6.其他的 Node 节点上需要执行如下命令安装 nfs-utils 客户端
yum -y install nfs-utils
7.其他的 Node 节点上可执行如下命令查看 Master 节点上共享的文件夹
[root@node1 /]# showmount -e 192.168.1.102
Export list for 192.168.1.102:
/data *
[root@node2 etcd]# showmount -e 192.168.1.102
Export list for 192.168.1.102:
/data *