-
部署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,确认数据持久化。