服务热线
135-6963-3175
Kubelet证书过期问题解决方法
(当集群node节点notReady状态原因可能是node节点kubelet证书过期或者防火墙未关)
可通过命令systemctl status kubelet
当你的kubernetes报错:certificate has expired or is not yet valid,可以通过命令:openssl x509 -in [证书全路径] -noout -text查看证书详情。
在过期node节点,进行备份或者删除,以下方法进行备份
1、备份
[root@node1]# cd /etc/kubernetes; [root@node1]# cp kubelet.kubeconfig kubelet.kubeconfig.bak; [root@node1]# mkdir sslbak && cp ssl/ sslbak;
2、删除
[root@node1]# rm -f kubelet.kubeconfig; [root@node1]# rm ssl/kubelet.*;
3、重启
[root@node1]# systemctl restart kubelet && systemctl status kubelet
4、在主master节点,执行:
[root@justmine]# kubectl get csr NAME AGE REQUESTOR CONDITION node-csr-xxx 11s kubelet-bootstrap Pending [root@justmine]# kubectl certificate approve node-csr-xxx certificatesigningrequest.certificates.k8s.io/node-csr-xxx approved
如果有多个证书,则执行多次approve操作(是否多次此步骤待测试)。
备注:CSR授权完成后,子节点node kubelete会自动发起CSR请求更新证书。
过10秒再次查看node状态,并可查看kubelet状态,若kubelet出现:
kubernetes [ERROR Swap]: running with swap on is not supported. Please disable swap
则执行
swapoff -a