kubernetes-29:kubeadm1.13.3解决集群证书过期问题

2020-10-27 10:12:58 浏览数 (1)

笔者的集群的证书已经过期,需要进行处理。

1.执行kubeadm config view > kubeadm.yaml会在当前目录生成一个kubeadm.yaml文件。

因为此命令需要集群正常运行时才能执行,如果你的集群已经GG可以先修改系统时间让集群先work,获取kubeadm.yaml之后再恢复系统时间。

查看证书有效期:kubeadm alpha certs renew all --config=kubeadm.yaml

修改系统时间:date -s "2020-08-30 00:00:00"

恢复系统时间:ntpdate -u ntp.api.bz

2.备份

mv admin.conf admin.conf.bak

mv controller-manager.conf controller-manager.conf.bak

mv scheduler.conf scheduler.conf.bak

mv kubelet.conf kubelet.conf.bak

否则后边更新证书后此文件不会被自动更改,依然不work。

3.执行 kubeadm alpha certs renew all --config=kubeadm.yaml 更新证书。然后查看证书有效期

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

证书有效期延长了。

4.重新初始化admin.conf等文件

kubeadm init phase kubeconfig all --config kubeadm.yaml

5.清除原有配置文件

rm -rf HOME/.kubemkdir -p HOME/.kubesudo cp -i /etc/kubernetes/admin.conf HOME/.kube/configsudo chown (id -u):(id -g) HOME/.kube/config

6.完成后重启kube-apiserver,kube-controller,kube-scheduler,etcd这4个容器

kubectl delete -n kube-system pod etcd-future kube-apiserver-future kube-controller-manager-future kube-scheduler-future

如果你的集群已经是GG状态,直接重启docker即可:

systemctl restart docker

0 人点赞