码字不易,戳下方名片,关注+星标
1 检查当前集群证书状态
openssl x509 -in /etc/kubernetes/pki/apiserver.crt -noout -text | grep Not
kubeadm certs check-expiration
# 注意:较早版本使用以下命令查看
kubeadm alpha certs check-expiration
2 更新前备份文件
cp -rf /etc/kubernetes/ /etc/kubernetes.bak-$(date +%Y%m%d)
cp -rf /var/lib/etcd/ /var/lib/etcd.bak-$(date +%Y%m%d)
3 证书续期一年
kubeadm certs renew all
systemctl restart kubelet
kubeadm certs check-expiration
4 证书续期10年
# 下载续期脚本
# 注意:该脚本由作者yuyicai所写
git clone https://github.com/yuyicai/update-kube-cert.git
# 进入目录
cd update-kube-cert
# 添加权限
chmod 755 update-kubeadm-cert.sh
# 执行续期操作
./update-kubeadm-cert.sh all --cri docker
该脚本仅需要在 master 节点执行,无需在 worker node 节点执行 如果runtime为containerd,请将docker改为containerd,默认是docker。
kubeadm certs check-expiration
[root@k8s-master update-kube-cert]# kubectl get node
NAME STATUS ROLES AGE VERSION
k8s-master Ready control-plane 7d21h v1.28.2
k8s-node1 Ready worker 7d21h v1.28.2
k8s-node2 Ready worker 7d21h v1.28.2
在进行任何更改之前,请确保你了解集群的当前配置。 续期修改前做好相应文件备份。 在生产环境中,建议在维护窗口期进行操作,以避免对业务造成影响。
5 证书失败回滚
/etc/kubernetes.old-$(date +%Y%m%d)
目录覆盖 /etc/kubernetes
目录