1 安装nfs服务
需要安装nfs服务器
(1)第一步:安装NFS和rpc,每台机器都需要安装。
#yum install -y nfs-utils #安装nfs服务
#yum install -y rpcbind#安装rpc服务
(2)第二步:启动服务和设置开启启动,每台机器都启动。
注意:先启动rpc服务,再启动nfs服务。
#systemctl start rpcbind #先启动rpc服务
#systemctl enable rpcbind #设置开机启动
#systemctl start nfs-server #启动nfs服务
#systemctl enable nfs-server #设置开机启动
(3)第三步:配置共享文件目录,编辑配置文件:
首先创建共享目录,然后在/etc/exports配置文件中编辑配置即可。
#mkdir -p /some/path
/some/path *(no_root_squash,rw,sync,no_subtree_check)
其中,rw:读/写权限,只读权限的参数为ro;
其中,sync:数据同步写入内存和硬盘,也可以使用async,此时数据会先暂存于内存中,而不立即写入硬盘。
其中,no_root_squash:NFS 服务器共享目录用户的属性,如果用户是 root,那么对于这个共享目录来说就具有 root 的权限。
例如/some/path 10.23.241.0/24(rw)
如上,共享目录为/some/path , 允许访问的客户端为10.23.241.0/24网络用户,权限为读写。
请注意,NFS客户端地址与权限之间没有空格。
(4)重新加载NFS服务,使配置文件生效
#systemctl reload nfs#重新加载NFS服务,使配置文件生效
(5)验证测试是否可用
(5-1)客户端挂载
#mount -t nfs 10.23.241.131:/some/path /mnt
(5-2)查看挂载情况
#df -h查看挂载情况
10.23.241.131:/some/path 46G 5.6G 40G 13% /mnt
(5-3)取消客户端挂载
#umount /mnt 或者
#umount -l /mnt
第二个命令中加了 -l ,是强制执行的命令,对于出现device is busy 时才可以使用
-e或–exports
显示NFS服务器的输出清单。
使用showmount命令查看nfs服务器共享信息。输出格式为“共享的目录名称 允许使用客户端地址”。
2 mongo-pod-nfs.yaml
apiVersion: v1
kind: Pod
metadata:
name: mongodb-nfs
spec:
volumes:
- name: mongodb-data
nfs:
server: 10.23.241.131
path: /some/path
containers:
- image: mongo:latest
imagePullPolicy: IfNotPresent
name: mongodb
volumeMounts:
- name: mongodb-data
mountPath: /data/db
ports:
- containerPort: 27017
protocol: TCP
#kubectl exec -it mongodb-nfs – mongo
查询发现/some/path中已经写入了数据。