-
部署NFS服务器:在NFS服务端创建共享目录(如
/data/nfs
),在/etc/exports
中添加条目/data/nfs *(rw,sync,no_subtree_check)
,执行exportfs -a
生效。 -
节点准备:在所有Kubernetes节点安装NFS客户端:
apt-get install nfs-common # Debian/Ubuntu yum install nfs-utils # CentOS/RHEL
-
创建PersistentVolume(PV):
apiVersion: v1 kind: PersistentVolume metadata: name: nfs-pv spec: capacity: storage: 10Gi accessModes: - ReadWriteMany persistentVolumeReclaimPolicy: Retain nfs: server: <NFS_SERVER_IP> path: /data/nfs
-
创建PersistentVolumeClaim(PVC):
apiVersion: v1 kind: PersistentVolumeClaim metadata: name: nfs-pvc spec: accessModes: - ReadWriteMany resources: requests: storage: 10Gi
-
Pod挂载示例:
apiVersion: v1 kind: Pod metadata: name: nfs-pod spec: containers: - name: app image: nginx volumeMounts: - name: nfs-volume mountPath: /usr/share/nginx/html volumes: - name: nfs-volume persistentVolumeClaim: claimName: nfs-pvc
验证:执行kubectl get pv,pvc
检查绑定状态,在Pod中写入文件后重建Pod或跨节点部署新Pod,确认数据持久化。