TL;DR
发现 k8s csi 组的社区项目 csi-driver-nfs v4.10 到 v4.11 至少这两个版本存在删除 pv 时会连带将整个根删除的问题。
声明 StorageClass 时虽然支持 subDir ,类似这样:
CodeBlock Loading...
但如果类似这样使用 subDir 声明路径,同命名空间下的其他 pvc 删除,会导致整个 subDir 根目录都被删除。目前官方 pr 已经修复,但实测还是有问题,有空再研究一下代码,不知道是不是刻意为之。
回溯 issuer 历史发现是有人提了 bug 发现目录下出现很多空目录,认为需要删除,修复者修复这一问题时错误的将整个根删除。为了规避这一问题,暂时回退到更早的 4.9 版本 csi
CodeBlock Loading...
升级版本要谨慎,新装版本要充分测试,特别是这种涉及数据安全的!
最后发现 sig 组还有一个 nfs-subdir-external-provisioner 可以看一下。