Kubernetes:使用 nfs-client-provisioner 强制“$pvname”的值
Posted
技术标签:
【中文标题】Kubernetes:使用 nfs-client-provisioner 强制“$pvname”的值【英文标题】:Kubernetes : Force value of "$pvname" with nfs-client-provsisioner 【发布时间】: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
【问题讨论】:
【参考方案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
希望对你有帮助。
【讨论】:
以上是关于Kubernetes:使用 nfs-client-provisioner 强制“$pvname”的值的主要内容,如果未能解决你的问题,请参考以下文章