k8s出现kubelet证书过期问题解决方法

一般我们在部署k8s集群,创建的证书期限只有一年,当master节点证书重建以后,那么此时在低版本的K8s集群中可能还会遇到以下客户端证书过期问题

微信截图_20230529114101.png

此时我们备份故障节点/etc/kubernets/kubelet.conf文件并删除,然后去一个正常的master节点,使用以下命令重新生成一个kubelet.conf文件

kubeadm kubeconfig user --org system:nodes --client-name system:node:$NODE > kubelet.conf

$NODE需要修改为你的节点名,然后将生成的文件复制到出现故障节点的/etc/kubernets目录下。然后重启kubelet。

我们可以在通过kubectl get csr查看是否有未授权的CSR请求,如果有,我们需要手工将其通过验证。

kubectl get csr 
kubectl certificate approve <csr_name>

一般情况下此时节点就会恢复正常。

针对于1.17以下的k8s,kubelet.conf文件需要将client-certificate-dataclient-key-data 改为如下配置

client-certificate: /var/lib/kubelet/pki/kubelet-client-current.pem
client-key: /var/lib/kubelet/pki/kubelet-client-current.pem


内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://sulao.cn/post/917.html