nfs 卷能将 NFS (网络文件系统) 挂载到你的 Pod 中。 不像 emptyDir 那样会在删除 Pod 的同时也会被删除,nfs 卷的内容在删除 Pod 时会被保存,卷只是被卸载。 这意味着 nfs 卷可以被预先填充数据,并且这些数据可以在 Pod 之间共享。
安装NFS
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
| yum install nfs-utils -y
systemctl start nfs-server
cat /proc/fs/nfsd/versions
mkdir -p /data/nfs cd /data/nfs mkdir rw mkdir ro
vim /etc/exports /data/nfs/rw 192.168.192.0/24(rw,sync,no_subtree_check,no_root_squash) /data/nfs/ro 192.168.192.0/24(ro,sync,no_subtree_check,no_root_squash)
exportfs -f systemctl reload nfs-server
mkdir -p /mnt/nfs/rw mount -t nfs 192.168.192.134:/data/nfs/rw /mnt/nfs/rw mount -t nfs 192.168.192.134:/data/nfs/ro /mnt/nfs/ro
|
不同节点间可以正常共享文件,如果在ro文件夹下创建文件会报错
1 2
| [root@k8s-master ro] touch: cannot touch ‘h’: Read-only file system
|
使用
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
| apiVersion: v1 kind: Pod metadata: name: nfs-test-pd1 spec: containers: - image: nginx name: test-container volumeMounts: - mountPath: /usr/share/nginx/html name: test-volume volumes: - name: test-volume nfs: server: 192.168.192.134 path: /home/nfs/rw/www/wolfcode readOnly: false
|
在/home/nfs/rw/www/wolfcode路径下创建一个index.html内容为<h1>hhh</h1>
创建该pod