NAS通过CSI插件在K8s中实现声明式挂载,支持NFS/SMB/云厂商协议,需部署对应CSI驱动、配置StorageClass、声明PVC并挂载至Pod,支持RWX共享与自动生命周期管理。

网络附加存储(NAS)在容器集群中通过 CSI 插件挂载,本质是把 NAS 的共享能力“翻译”成 Kubernetes 原生可识别的存储资源。整个过程不依赖手动挂载或节点配置,而是由 CSI 驱动自动完成卷的创建、绑定、挂载与生命周期管理。
明确 NAS 类型与协议支持
先确认你的 NAS 是否支持标准文件协议:
- NFS 协议:绝大多数 NAS(如群晖、威联通、OpenMediaVault)默认支持,K8s 社区生态最成熟;
- SMB/CIFS 协议:Windows 环境兼容性好,但 K8s 原生支持较弱,需额外 CSI 驱动(如 csi-smb);
- 云厂商私有协议(如阿里云 NAS、腾讯云 CFS Turbo、AWS EFS):必须使用对应厂商提供的 CSI 插件(如 ack-csi-nas-plugin、cfsturbo-csi);
不推荐直接用 HostPath 或手动 mount 命令挂载 NAS,这类方式无法被 K8s 调度感知,也不支持 PVC 绑定、弹性扩缩容和故障迁移。
部署对应 CSI 驱动并配置 StorageClass
CSI 驱动是连接 NAS 和 K8s 的核心桥梁。以 NFS 类 NAS 为例:
- 安装开源 nfs-subdir-external-provisioner(Helm 方式最简):
helm install nfs-csi nfs-subdir-external-provisioner/nfs-subdir-external-provisioner \<br> --set nfs.server=192.168.1.200 \<br> --set nfs.path=/volume1/k8s-share
- 创建 StorageClass,声明该类 PV 由该驱动动态提供:
apiVersion: storage.k8s.io/v1<br>kind: StorageClass<br>metadata:<br> name: nas-nfs-sc<br>provisioner: k8s-sigs.io/nfs-subdir-external-provisioner<br>parameters:<br> archiveOnDelete: "true"
如果是云 NAS(如阿里云 NAS),直接启用 ACK 集群内置的 ack-csi-nas-plugin,StorageClass 中 provisioner 设为 nasplugin.csi.alibabacloud.com 即可。
声明 PVC 并在 Pod 中使用
用户不再关心 NAS 地址或挂载细节,只需按需申请存储:
- 定义 PVC,指定 storageClassName 和所需容量:
apiVersion: v1<br>kind: PersistentVolumeClaim<br>metadata:<br> name: nas-pvc<br>spec:<br> accessModes: [ReadWriteMany]<br> resources:<br> requests:<br> storage: 10Gi<br> storageClassName: nas-nfs-sc
- 在 Pod 中通过 volumeMounts 挂载该 PVC:
volumes:<br>- name: nas-data<br> persistentVolumeClaim:<br> claimName: nas-pvc<br>container:<br>- volumeMounts:<br> - mountPath: /shared<br> name: nas-data
Pod 启动后,Kubelet 会调用 CSI NodeServer 在本节点执行 mount,路径 /shared 即可被容器内所有进程读写,多个 Pod 可同时挂载同一 PVC(RWX 模式)。
验证与运维要点
挂载成功后建议快速验证连通性与权限:
- 进 Pod 执行
df -h | grep nas查看是否出现 NAS 共享路径; - 尝试
touch /shared/test-from-pod写入文件,并从 NAS 管理界面确认文件存在; - 检查 PV 状态:
kubectl get pv应显示 Bound,且CLAIM字段指向你的 PVC; - 注意:NFS 服务端需放行 K8s 节点 IP 段、关闭 root_squash(若需 root 写入)、确保 UID/GID 权限匹配容器用户。
CSI 插件让 NAS 使用变得声明式、可复用、可编排——你定义需求,系统自动交付存储能力。

















