k8s1.17.4集群证书过期解决方案
文章目录
一、报错信息
二、查看证书过期时间
三、备份证书
四、更新证书
4.1、场景一:证书还未过期更新
4.2、场景二:证书已经过期更新
五、重启服务
六、查看证书过期时间
总结:整理不易,如果对你有帮助,可否点赞关注一下?

一、报错信息
如下图所示:
在这里插入图片描述

说明:如上图报错则表明kubernetes证书过期了,需要重新续签证书。

二、查看证书过期时间

kubeadm alpha certs check-expiration

如下图所示:
在这里插入图片描述

三、备份证书
注意:为了避免升级过程中出现问题,建议备份kubernetes 的配置文件和证书文件。

cp -arp /etc/kubernetes/ /etc/kubernetes_`date +%F`

四、更新证书
4.1、场景一:证书还未过期更新

1、备份配置文件

kubeadm config view > /root/kubeadm.yaml

2、生产新的证书文件

kubeadm alpha certs renew all

3、将新生成的文件拷贝到 ${HOME}/.kube 目录下并重命名为 config

mv ~/.kube ~/.kube.bak
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config

4.2、场景二:证书已经过期更新

1、修改系统时间到证书有效期时间内

date -s "2021-07-11 22:30:00"

#说明:时间修改完成后,证书就是在有效期内了,修改后集群就会恢复正常了,如果不正常可以重启下kubelet服务。

2、备份配置文件

kubeadm config view > /root/kubeadm.yaml

3、生产新的证书文件

kubeadm alpha certs renew all

4、将新生成的文件拷贝到 ${HOME}/.kube 目录下并重命名为 config

mv ~/.kube ~/.kube.bak
mkdir ~/.kube
cp /etc/kubernetes/admin.conf ~/.kube/config

五、重启服务

1、重启 apiserver、kube-controller、kube-scheduler、etcd 容器

docker ps | grep -v pause | grep -E "etcd|scheduler|controller|apiserver" | awk '{print $1}' | awk '{print "docker","restart",$1}' | bash

2、重启kubelet

systemctl restart kubelet && journalctl -xefu kubelet

六、查看证书过期时间
证书续签后,查看证书过期时间

在这里插入图片描述

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐