k8s证书更新

k8s证书更新

一、(k8s版本>1.4的适用) 本次更新的版本是1.17.5

 单节点k8s

#  1、备份证书(非常重要)
cp -r /etc/kubernetes  /etc/kubernetes_bak

#  2、查看证书的有效期
kubeadm alpha certs check-expiration

#  3、升级证书(谨慎操作)
kubeadm alpha certs renew all

#  4、重启etcd kube-apiserver kube-controller kube-scheduler 4个容器(注意etcd是否有多个,是否和其他重复,例如kuboard)
for i in k8s_etcd kube-apiserver kube-controller-manager kube-scheduler;do
echo ….restart container $i….
docker ps |grep $i | grep -v pause | cut -d " " -f1 | xargs docker restart
done

#  5、再次查看已经升级成功
kubeadm alpha certs check-expiration

#  6、更新证书 (需要在有引用证书的master节点操作)
cp -f /etc/kubernetes/admin.conf  ~/.kube/config

以上 升级完毕......

 

二、升级k8s高可用集群证书,本次升级的版本是 1.21.6 

master01

master02

master03

#  1、备份证书(非常重要)
cp -r /etc/kubernetes  /etc/kubernetes_bak

#  2、查看证书的有效期 (注意:和老版本的命令不一样)
kubeadm certs check-expiration

#  3、升级证书(谨慎操作)
kubeadm certs renew all

#  4、重启etcd kube-apiserver kube-controller kube-scheduler 4个容器(注意etcd是否有多个,是否和其他重复,例如kuboard)
for i in k8s_etcd kube-apiserver kube-controller-manager kube-scheduler;do
echo ….restart container $i….
docker ps |grep $i | grep -v pause | cut -d " " -f1 | xargs docker restart
done
#或者手动一个一个重启
docker ps | grep k8s_etcd
docker ps | grep k8s_kube-apiserver
docker ps | grep k8s_kube-controller-manager
docker ps | grep k8s_kube-scheduler

docker restart container_id

#  5、再次查看已经升级成功
kubeadm certs check-expiration

# 以上需要在master各个节点操作

#  6、更新证书 (需要在有引用证书的master节点操作)
cp -f /etc/kubernetes/admin.conf  ~/.kube/config

 遇到的坑:

1、kuboard访问不了

分析:重启 etcd 和kuboard的etcd 冲突了。

可以删除kuboard ,重新安装后正常。

2、kuboard 主节点etcd 的 pod一直重启

分析:kuboard 引用的 ~/.kube/config 下的证书没有同步更新,执行 6 步骤 后 ,恢复正常。。

 

以上,证书升级完毕。。。

证书升级100年 (初始化的时候推荐)

https://blog.csdn.net/xiaoyaoyun518/article/details/134161291

 

posted @ 2022-10-24 22:25  大司徒  阅读(1108)  评论(0编辑  收藏  举报