导语:local-path-provisioner提供的storage 创建的pv名称是比较难以识别的,希望进入pv还得确认一下。我希望能够更好辨识一些
原先效果
调整后的效果。pvc-${pcv_name}
local-path-provisioner的日志
// getProvisionedVolumeNameForClaim returns PV.Name for the provisioned volume.
// The name must be unique.
func (ctrl *ProvisionController) getProvisionedVolumeNameForClaim(claim *v1.PersistentVolumeClaim) string {
return "pvc-" + string(claim.UID)
}
下载代码。并切换到tag 0.0.23
git clone https://github.com/rancher/local-path-provisioner.git
修改controller.go,调整1417行为return "pvc-" + string(claim.Name)
挂载编译
docker run -it --rm -v /data1/tmp/local-path-provisioner:/data1/tmp/local-path-provisioner golang:1.16-alpine sh
cd /data1/tmp/local-path-provisioner
go build
再以新的Dockerfile构建
# Dockerfile
FROM rancher/local-path-provisioner:v0.0.23
COPY local-path-provisioner /usr/bin/
CMD ["local-path-provisioner"]
docker build -t test:02 .
最终的镜像测试直接替换yaml中的镜像就可以让最终的pv名称显示更友好了。
https://github.com/rancher/local-path-provisioner/blob/v0.0.23/vendor/sigs.k8s.io/sig-storage-lib-external-provisioner/controller/controller.go