在 Kubernetes 中通过 NFS 配置跨节点的持久化存储,需遵循以下核心步骤:
- NFS 服务器准备:部署稳定的 NFS 服务端,创建共享目录并配置访问权限(如 /exports/data);
- 节点依赖安装:所有 k8s 节点需安装
nfs-utils
或nfs-common
工具,确保挂载能力; - PV/PVC 定义:
- PersistentVolume (PV):声明 NFS 服务器地址(server:IP)、共享路径(path)及权限(readOnly: false),访问模式设为
ReadWriteMany
以支持跨节点读写; - PersistentVolumeClaim (PVC):绑定 PV 资源要求(如存储大小、访问模式);
- PersistentVolume (PV):声明 NFS 服务器地址(server:IP)、共享路径(path)及权限(readOnly: false),访问模式设为
- Pod 挂载配置:在 Deployment 或 Pod 的 volumeMounts 中引用 PVC,实现跨节点存储访问。
关键注意事项:
- NFS 性能调优:根据负载调整
nfsvers
(推荐 v4 以上)及挂载参数(如 hard/soft); - 权限一致性:确保容器用户对 NFS 目录有读写权限,避免 UID/GID 不匹配;
- 灾备与高可用:若生产环境使用,建议 NFS 服务端采用集群化方案(如 DRBD + Pacemaker)防止单点故障;
- 安全策略:通过 k8s NetworkPolicy 或 NFS 防火墙规则限制非法访问。