来自AI助手的总结
介绍了Kubernetes使用NFS创建PV、PVC并挂载到Pod的完整流程

一、额外开一台虚拟机,搭建NFS服务。假设NFS服务器IP地址为192.168.1.34,共享目录为/data/nfs。
1.1 每台机器安装NFS客户端
$ yum install nfs-utils -y
1.2 在k8s-node01(192.168.1.34)启动nfs
[root@k8s-node01 ~]# systemctl start nfs-server
1.3 在k8s-node01(192.168.1.34)查看nfs支持的版本
[root@k8s-node01 ~]# cat /proc/fs/nfsd/versions
-2 +3 +4 +4.1 +4.2
1.4 在k8s-node01(192.168.1.34)上创建一个共享目录
[root@k8s-node01 ~]# mkdir -p /data/nfs
1.5 在k8s-node01(192.168.1.34)编辑授权文件,这里网段根据自己主机来定,我这里网段是192.168.1.0/24
[root@k8s-node01 ~]# vim /etc/exports
/data/nfs/ 192.168.1.0/24(rw,sync,no_subtree_check,no_root_squash)
1.6 在k8s-node01(192.168.1.34)配置生效
[root@k8s-node01 ~]# exportfs -r
1.7 在k8s-node01(192.168.1.34)重新加载NFS
[root@k8s-node01 ~]# systemctl reload nfs-server
1.8 在每台主机上查看是否可以成功挂载
$ showmount -e 192.168.1.34
Export list for 192.168.1.34:
/data/nfs 192.168.1.0/24
二、在k8s-master01节点上定义基于NFS的PV
$ vi nfs-pv.yaml
apiVersion: v1
kind: PersistentVolume
metadata:
name: nfs-pv
spec:
capacity:
storage: 5Gi
accessModes:
- ReadWriteMany
persistentVolumeReclaimPolicy: Retain
storageClassName: nfs-storage
nfs:
path: /data/nfs
server: 192.168.1.34
三、在k8s-master01节点上应用
$ k apply -f nfs-pv.yaml
四、在k8s-master01节点上定义PVC
$ vi nfs-pvc.yaml
apiVersion: v1
kind: PersistentVolumeClaim
metadata:
name: nfs-pvc
spec:
storageClassName: nfs-storage
accessModes:
- ReadWriteMany
resources:
requests:
storage: 5Gi
五、在k8s-master01节点上应用
$ k apply -f nfs-pvc.yaml
六、在k8s-master01节点上定义Pod
$ vi nfs-pod.yaml
apiVersion: v1
kind: Pod
metadata:
name: nfs-pod
spec:
containers:
- name: nfs-container
image: nginx:1.21.6
volumeMounts:
- name: nfs-storage
mountPath: /data
volumes:
- name: nfs-storage
persistentVolumeClaim:
claimName: nfs-pvc
七、在k8s-master01节点上应用
$ k apply -f nfs-pod.yaml
八、测试验证
在192.168.1.34主机上/data/nfs目录下创建nfs-test文件
$ cd /data/nfs/
$ touch nfs-test
$ echo "xxxxxx" > nfs-test
进入nfs-pod验证查看
$ k exec -it nfs-pod bash
$ cat data/nfs-test
xxxxxx
九、恢复
$ k delete -f nfs-pod.yaml,nfs-pvc.yaml,nfs-pv.yaml
© 版权声明
文章版权归作者所有,未经允许请勿转载。
THE END







暂无评论内容