Kubernetes 创建 pvc error getting claim reference: selfLink was empty, can‘t make refere,kubernetes 1.20版本以后 禁用了 selfLink

Kubernetes 创建 pvc error getting claim reference: selfLink was empty, can‘t make refere

nfs插件报错误日志如下:

I0517 12:05:38.865404       1 leaderelection.go:156] attempting to acquire leader lease...
I0517 12:05:38.912969       1 leaderelection.go:178] successfully acquired lease to provision for pvc default/pvc-sc
I0517 12:05:38.913107       1 controller.go:1167] scheduleOperation[provision-default/pvc-sc[a75c71c6-f313-44d3-8fb6-ce67deabc651]]
E0517 12:05:38.926057       1 controller.go:853] Unexpected error getting claim reference to claim "default/pvc-sc": selfLink was empty, can‘t make reference

找了找资料发现,kubernetes 1.20版本 禁用了 selfLink。

解决方法1:

资料连接:
https://*.com/questions/65376314/kubernetes-nfs-provider-selflink-was-empty
https://github.com/kubernetes-sigs/nfs-subdir-external-provisioner/issues/25

当前的解决方法是编辑/etc/kubernetes/manifests/kube-apiserver.yaml
在这里:

spec:
  containers:
  - command:
    - kube-apiserver
      添加这一行:
- --feature-gates=RemoveSelfLink=false

然后应用它,即可

kubectl apply -f /etc/kubernetes/manifests/kube-apiserver.yaml

解决方法2:

如果是二进制安装的kubernetes集群,可以直接修改kube-apiserver文件,然后重启

vim /etc/systemd/system/kube-apiserver.service
[Unit]
Description=Kubernetes API Server
Documentation=https://github.com/GoogleCloudPlatform/kubernetes
After=network.target

[Service]
ExecStart=/opt/kube/bin/kube-apiserver   --advertise-address=192.168.40.199   --allow-privileged=true   --anonymous-auth=false   --api-audiences=api,istio-ca   --authorization-mode=Node,RBAC   --bind-address=192.168.40.199   --client-ca-file=/etc/kubernetes/ssl/ca.pem   --endpoint-reconciler-type=lease   --etcd-cafile=/etc/kubernetes/ssl/ca.pem   --etcd-certfile=/etc/kubernetes/ssl/kubernetes.pem   --etcd-keyfile=/etc/kubernetes/ssl/kubernetes-key.pem   --etcd-servers=https://192.168.40.199:2379,https://192.168.40.207:2379,https://192.168.40.209:2379   --kubelet-certificate-authority=/etc/kubernetes/ssl/ca.pem   --kubelet-client-certificate=/etc/kubernetes/ssl/kubernetes.pem   --kubelet-client-key=/etc/kubernetes/ssl/kubernetes-key.pem   --secure-port=6443   --service-account-issuer=https://kubernetes.default.svc   --service-account-signing-key-file=/etc/kubernetes/ssl/ca-key.pem   --service-account-key-file=/etc/kubernetes/ssl/ca.pem   --service-cluster-ip-range=10.68.0.0/16   --service-node-port-range=30000-32767   --tls-cert-file=/etc/kubernetes/ssl/kubernetes.pem   --tls-private-key-file=/etc/kubernetes/ssl/kubernetes-key.pem   --requestheader-client-ca-file=/etc/kubernetes/ssl/ca.pem   --requestheader-allowed-names=   --requestheader-extra-headers-prefix=X-Remote-Extra-   --requestheader-group-headers=X-Remote-Group   --requestheader-username-headers=X-Remote-User   --proxy-client-cert-file=/etc/kubernetes/ssl/aggregator-proxy.pem   --proxy-client-key-file=/etc/kubernetes/ssl/aggregator-proxy-key.pem   --enable-aggregator-routing=true   --feature-gates=RemoveSelfLink=false   --v=2
Restart=always
RestartSec=5
Type=notify
LimitNOFILE=65536

[Install]
WantedBy=multi-user.target




重新加载kube-apiserver.service

systemctl daemon-reload && systemctl restart kube-apiserver

重新删除一下nfs插件,观察日志,直到日志显示如下,即为成功

[root@master1-192-168-40-199 ~]# kubectl  logs -n kube-system nfs-provisioner-01-574d6c4db6-nbfdw
I0517 12:06:33.573502       1 controller.go:492] Starting provisioner controller 52712073-b708-11eb-804e-86e1c009f86c!
I0517 12:06:33.602105       1 controller.go:1167] scheduleOperation[lock-provision-default/pvc-sc[a75c71c6-f313-44d3-8fb6-ce67deabc651]]
I0517 12:06:33.639435       1 leaderelection.go:156] attempting to acquire leader lease...
I0517 12:06:48.602638       1 controller.go:1167] scheduleOperation[lock-provision-default/pvc-sc[a75c71c6-f313-44d3-8fb6-ce67deabc651]]
I0517 12:06:50.264165       1 leaderelection.go:178] successfully acquired lease to provision for pvc default/pvc-sc
I0517 12:06:50.264748       1 controller.go:1167] scheduleOperation[provision-default/pvc-sc[a75c71c6-f313-44d3-8fb6-ce67deabc651]]
I0517 12:06:50.281135       1 controller.go:900] volume "pvc-a75c71c6-f313-44d3-8fb6-ce67deabc651" for claim "default/pvc-sc" created
I0517 12:06:50.298751       1 controller.go:917] volume "pvc-a75c71c6-f313-44d3-8fb6-ce67deabc651" for claim "default/pvc-sc" saved
I0517 12:06:50.298796       1 controller.go:953] volume "pvc-a75c71c6-f313-44d3-8fb6-ce67deabc651" provisioned for claim "default/pvc-sc"
I0517 12:06:52.282891       1 leaderelection.go:198] stopped trying to renew lease to provision for pvc default/pvc-sc, task succeeded

Kubernetes 创建 pvc error getting claim reference: selfLink was empty, can‘t make refere,kubernetes 1.20版本以后 禁用了 selfLink

上一篇:js基础arguments


下一篇:js根据ua判断常用设备