技术交流28群

服务热线

135-6963-3175

微信服务号

node节点kubelet证书过期解决 更新时间 2020-3-21 浏览2697次

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