【问题标题】:Kubernetes : Force value of "$pvname" with nfs-client-provsisionerKubernetes:使用 nfs-client-provisioner 强制“$pvname”的值
【发布时间】:2019-11-12 12:50:19
【问题描述】:
我在我的 kubernetes 集群中使用 nfs-client-provisioner。
但是,PersistentVolume 的名称是随机的。
参见。文档:
nfs-client-provisioner
--> 持久卷配置为 ${namespace}-${pvcName}-${pvName}
但是,我可以在哪里更改 pvName 的值?
其实是随机的,例如:pvName = pvc-2v82c574-5bvb-491a-bdfe-061230aedd5f
【问题讨论】:
标签:
kubernetes
nfs
persistent-volumes
【解决方案1】:
这是与PV 名称相对应但存储在 NFS 服务器共享上的目录的命名约定
如果涉及到由nfs-provisioner 动态配置的PV 名称,则遵循以下命名约定:
pvc- + claim.UID
背景资料:
根据external storage provisioners(NFS-client属于此类)的设计方案,不能在PVC spec中显式声明volumeName。
#volumeName: 必须为空!
pv.Name 必须是唯一的。当两个配置者意外地为同一个声明配置 PV 时,内部配置者使用基于 claim.UID 的名称来产生冲突,但是外部配置者可以使用任何机制来生成唯一的 PV 名称。
如果是nfs-client 供应商,pv.Name 生成由controller 库处理,它得到以下格式:
pvc- + claim.UID
Source
希望对你有帮助。