kubelet证书过期处理方案

集群中某node状态为notReady,apiserver 报错Unable to authenticate the request due to an error: x509: certificate has expired or is not yet valid

1 查看证书有效期

openssl x509 -in /etc/ssl/k8s/kubelet.crt -noout -text

在证书过期node节点删除kubelet相关证书文件及配置文件然后重启kubelet,kubelet会向apiserver发起一个csr。

2 删除kubelet相关证书

rm  /etc/kubernetes/kubelet.kubeconfig
rm  /etc/kubernetes/ssl/kubelet.*

3 重启kubelet

systemctl  restart kubelet
systemctl  status  kubelet

4 apiserver 查看未授权的CSR请求,并授权

kubectl get csr

#获取到的csr若为csr-4pw6g
kubectl certificate approve csr-4pw6g

5 查看node状态

kubectl get node

Ready则处理完成
在kubernetes1.7之后,可以采用集群自动签发证书方案,但仍然需要手动重启kubelet, 在1.8之后,就可以自动签发,自动renew证书;也可以设置更长的有效期。


版权声明:本文为qq_33283901原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。