TL;DR 发现 k8s csi 组的社区项目 csi-driver-nfs v4.10 到 v4.11 至少这两个版本存在删除 pv 时会连带将整个根删除的问题。
声明 StorageClass 时虽然支持 subDir ,类似这样:
apiVersion: storage.k8s.io/v1 kind: StorageClass metadata: name: nfs-aliyun-gz provisioner: nfs.csi.k8s.io parameters: share: "/csi" server: "28364f4a1fa-eok75.cn-guangzhou.nas.aliyuncs.com" #server: "172.26.12.20" #subDir: "${pvc.metadata.namespace}/${pvc.metadata.name}" reclaimPolicy: Delete #volumeBindingMode: WaitForFirstConsumer volumeBindingMode: Immediate allowVolumeExpansion: true mountOptions: # - nolock,tcp,noresvport - vers=3,nolock,proto=tcp,rsize=1048576,wsize=1048576,hard,timeo=600,retrans=2,noresvport 但如果类似这样使用 subDir 声明路径,同命名空间下的其他 pvc 删除,会导致整个 subDir 根目录都被删除。目前官方 pr 已经修复,但实测还是有问题,有空再研究一下代码,不知道是不是刻意为之。
...