用helm安装nfs后,创建了默认的storageClass,
[root@k8s-master ~]# kubectl get sc NAME PROVISIonER RECLAIMPOLICY VOLUMEBINDINGMODE ALLOWVOLUMEEXPANSION AGE nfs-client cluster.local/nfs-nfs-client-provisioner Delete Immediate true 24m
然后资源清单链接这个nfs-client 创建pvc时候,总是提示pending状态
[root@k8s-master ~]# cat sccc.yaml kind: PersistentVolumeClaim apiVersion: v1 metadata: name: test-sc2 spec: storageClassName: nfs-client accessModes: - "ReadWriteMany" resources: requests: storage: 2Gi
[root@k8s-master ~]# kubectl get pvc NAME STATUS VOLUME CAPACITY ACCESS MODES STORAGECLASS AGE test-sc1 Pending nfs-client 6s
然后查看pod日志提示: unexpected error getting claim reference: selflink was empty, can’t make reference
[root@k8s-master ~]# kubectl logs nfs-nfs-client-provisioner-f8f4cdb44-lmjlz I0103 04:36:15.578403 1 controller.go:987] provision "default/test-sc2" class "nfs-client": started E0103 04:36:15.583315 1 controller.go:1004] provision "default/test-sc2" class "nfs-client": unexpected error getting claim reference: selflink was empty, can't make reference
找资料发现,kubernetes 1.20版本 禁用了 selflink。
解决方法:
编辑/etc/kubernetes/manifests/kube-apiserver.yaml在这里:
spec: containers: - command: - kube-apiserver
添加这一行:
- --feature-gates=RemoveSelflink=false
然后应用它,即可
kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)