每个使用 nfs shared storage class 创建的 pvc 都对应一个 nfs share 的子目录, 子目录的默认命名规则是 ${pv.metadata.name}
即 PV 名称。如果默认生成的名称不符合您的使用需求,您可以自定义子目录名称。本文档将提供配置方法以及配置建议。
在 NFS Server 端通过子目录名称得知其在 Kubernetes 中对应的 PVC,然后统计各 PVC 的使用量,方便运维管理。
v3
、v4.0
和 v4.1
。您可以在服务器端执行 nfsstat -s
来检查版本信息。Refer to 部署 NFS 共享存储插件。
Refer to 创建 NFS 共享存储类。
在点击创建前,切换至 YAML 视图,在 parameters
下添加 subDir
配置子目录的命名规则。
说明:
subDir
仅支持 ${pvc.metadata.namespace}
, ${pvc.metadata.name}
, ${pv.metadata.name}
3 个变量,nfs csi driver 会自动转换成 PVC 的命名空间
,PVC 名称
以及 PV 名称
。subDir
配置的命名规则需要保证生成子目录名称的唯一性,否则会出现不同 PVC 使用相同子目录的情况。推荐配置:
${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
<ClusterName>_${pvc.metadata.namespace}_${pvc.metadata.name}_${pv.metadata.name}
适用于多个 Kubernetes 集群使用同一个 NFS Server,能够区分集群。
不推荐配置:
${pvc.metadata.namespace}-${pvc.metadata.name}-${pv.metadata.name}
请避免使用 -
来作为分隔符,避免出现 ns-1/test
和 ns/1-test
生成相同的子目录 ns-1-test
的情况。
${pvc.metadata.namespace}/${pvc.metadata.name}/${pv.metadata.name}
请避免将规则配置成多级目录,nfs csi driver 在 PVC 删除后仅会删除最后一级目录 ${pv.metadata.name}
,导致 NFS Server 上有残留目录。
点击 创建。
已创建的 StorageClass 不支持配置。