项目场景:
··
kubernetes 内 nfs作为sc出错
问题描述
nfs作为sc出错
然后查看pv pvc都是正常绑定状态
查看nfs-pro日志发现以下报错
I0519 08:08:58.829967 1 controller.go:987] provision "default/my-pvc" class "nfs-storage": started
E0519 08:08:58.833330 1 controller.go:1004] provision "default/my-pvc" class "nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make reference
I0519 08:09:37.060795 1 controller.go:987] provision "default/my-pvc" class "nfs-storage": started
E0519 08:09:37.063979 1 controller.go:1004] provision "default/my-pvc" class "nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make reference
I0519 08:21:27.312394 1 controller.go:987] provision "devops-test/sonarqube-data" class "nfs-storage": started
E0519 08:21:27.315903 1 controller.go:1004] provision "devops-test/sonarqube-data" class "nfs-storage": unexpected error getting claim reference: selfLink was empty, can't make reference
原因分析:
这是因为 在 k8s 1.20 中,已根据 release notes删除 selfLink 参数。
解决方案:
- 使用新的不基于 SelfLink 功能的 provisioner 镜像,重新创建 provisioner 容器。
https://hub.docker.com/r/vbouchaud/nfs-client-provisioner
更新nfs-client-provisioner镜像 - 这是因为 在 k8s 1.20 中,已根据 release notes删除 selfLink 参数。
要解决这个问题只需要在kube-api添加–feature-gates=RemoveSelfLink=false 即可,参考:kubernetes-sigs/nfs-subdir-external-provisioner#25
vbouchaud/nfs-client-provisione