kubernetes 1.21.14版本集群更新证书时间
集群环境模拟:
| 节点名称 | ip |
|---|---|
| k8smaster01 | 192.168.10.1 |
| k8smaster02 | 192.168.10.2 |
| k8smaster03 | 192.168.10.3 |
| k8snode01 | 192.168.10.4 |
1.查看证书有效期限期限
通过master节点查询:
kubeadm certs check-expiration(如果时间过去了会显示invalid)
编辑
2.所有节点备份相关文件
cp -rf /etc/kubernetes /etc/kubernetes-bak
cp -rf /var/lib/kubelet/pki/ /var/lib/kubelet/pki-bak
3.证书续期(先只争对一台master节点续期)
kubeadm certs renew all (更新所有server端证书)
编辑
4.查看配置文件是否更新
ls -l /etc/kubernetes/
编辑
ls -l /etc/kubernetes/manifests/
编辑
关注相关文件的最新日期是否为更新的日期
一般情况下是不用重启k8s组件的,以防万一还是建议使用以下命令手动重启k8s组件
docker ps |grep -v pause |grep -E "etcd|scheduler|controller|apiserver" |awk '{print $1}' |xargs docker restart
5.更新kubelet client证书
cat /etc/kubernetes/admin.conf
编辑
vi /etc/kubernetes/kubelet.conf
编辑
将上面kubelet.conf画圈圈的位置替换为/etc/kubernetes/admin.conf文件画圈圈的位置
编辑
ls -l /var/lib/kubelet/pki/
编辑
将所有过期的pem文件删除掉
systemctl restart kubelet
再次查看
ls -l /var/lib/kubelet/pki/
看是否新成了最新的pem文件
通过以下命令查看证书是否续期成功
openssl x509 -in /var/lib/kubelet/pki/kubelet-client-current.pem -noout -text |grep Not
master其他节点重复12345的步骤进行证书更新
work节点只要续期kubelet证书即可 需要重复步骤5的操作过程即可,work节点需要复制任意一台master节点/etc/kubernetes/admin.conf的token到自身的/etc/kubernetes/kubelet.conf即可