k8s重启后kubectl get nodes: Unable to connect to the server: x509: certificate has expired or is not ye

出现以下问题,极有可能是apiserver 证书过期导致:

1,kuboard/k8s无法正常拉取镜像。

2,kuboard/k8s重启后执行 kubectl get nodes报错:

Unable to connect to the server: x509: certificate has expired or is not yet valid

查看证书是否过期:

执行:openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not

提示如下则为证书过期:

k8s自带的apiserver证书是一年的有效期。

/etc/kubernetes/pki/apiserver.crt           #1年有效期
/etc/kubernetes/pki/front-proxy-ca.crt        #10年有效期
/etc/kubernetes/pki/ca.crt              #10年有效期
/etc/kubernetes/pki/apiserver-etcd-client.crt    #1年有效期
/etc/kubernetes/pki/front-proxy-client.crt      #1年有效期
/etc/kubernetes/pki/etcd/server.crt         #1年有效期
/etc/kubernetes/pki/etcd/ca.crt           #10年有效期
/etc/kubernetes/pki/etcd/peer.crt          #1年有效期
/etc/kubernetes/pki/etcd/healthcheck-client.crt  #1年有效期
/etc/kubernetes/pki/apiserver-kubelet-client.crt  #1年有效期

使用命令统一查看证书过期时间:

kubeadm  certs check-expiration 

 

解决办法,更换证书:

1,下载脚本:

百度网盘 - 共享邀请链接

2,添加可执行权限:chmod +x update-kubeadm-cert.sh

3,重启systemctl restart kubelet。

查看集群状态:

systemctl status kubelet

kubectl get nodes, kubectl get pods

 


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