参考文档 https://blog.51cto.com/u_14848702/5038108
copy sh文件
https://github.com/luckylucky421/kubernetes1.17.3/blob/master/update-kubeadm-cert.sh
执行的时候注意 加上参数
./update-kubeadm-cert.sh all
自动运行,增加证书有效期 10年,并且自动重启服务
k8s 1.20 以上的证书更新 请参考 https://blog.csdn.net/m0_37814112/article/details/120332478
kubeadm certs check-expiration 查看证书有效期
注意两个问题
1.在有效期内更新
备份配置文件和证书
cp -arp /etc/kubernetes/ /etc/kubernetes_`date +%F`
# 1、备份配置文件
kubectl get cm -o yaml -n kube-system kubeadm-config > /root/kubeadm.yaml
# 2、生产新的证书文件
kubeadm certs renew all
# 3、重启 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.过有效期内更新证书,需要将系统时间改为 有效期内的时间
# 1、修改系统时间到证书有效期时间内
date -s "2021-07-11 22:30:00"
#说明:时间修改完成后,证书就是在有效期内了,修改后集群就会恢复正常了,如果不正常可以重启下kubelet服务。
# 2、生产新的证书文件
kubeadm certs renew all
# 3、重启 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