kubeadm安装的k8s集群证书有效期过期解决方案(v1.13.0之后版本)

修改机器时间模拟证书过期,同样如果想生成的证书有效期5年可以设置当前时间为未来5的时间
(date -s "2025-12-30 12:00" )

1.备份master节点上的/etc/kubernetes
cp -r /etc/kubernetes /etc/kubernetes.old

2.删除过期证书文件(master节点均需要)
rm -rf /etc/kubernetes/ssl/apiserver*
rm -rf /etc/kubernetes/ssl/front-proxy*

3.重新生成证书
kubeadm init phase certs all --config /etc/kubernetes/kubeadm-config.yaml

4.拷贝证书到其他master节点

scp /etc/kubernetes/ssl/apiserver* /etc/kubernetes/ssl/front-proxy* 192.168.56.105:/etc/kubernetes/ssl/

5.删除/etc/kubernetes 下的所有conf 文件

rm -rf /etc/kubernetes/*.conf

6.生成新的配置文件

kubeadm init phase kubeconfig all --config /etc/kubernetes/kubeadm-config.yaml

7.备份 ~/.kube/config

cp ~/.kube/config ~/.kube/config.old

8.替换~/.kube/config

cp /etc/kubernetes/admin.conf ~/.kube/config

9. 备份 /var/lib/kubelet/pki

mv /var/lib/kubelet/pki /var/lib/kubelet/pki.old

10.重启服务

docker ps |grep kube-apiserver|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-controller-manager|grep -v pause|awk '{print $1}'|xargs -i docker restart {}
docker ps |grep kube-scheduler|grep -v pause|awk '{print $1}'|xargs -i docker restart {}

11.systemctl restart kubelet

(5 -11 所有的master 均需做)

如果工作节点的kubelet 证书过期 需要做(9 和 11)


在master 节点生成 node 节点的kubelet.conf 文件 至/tmp/下
kubeadm init phase kubeconfig kubelet --node-name <节点名称> --kubeconfig-dir /tmp/ --apiserver-advertise-address <集群VIP>

拷贝配置到node 节点的 /etc/kubernetes
scp /tmp/kubelet.conf node_ip:/etc/kubernetes/

systemctl restart kubelet

 

上一篇:kubelet创建容器的流程分析


下一篇:更新k8s集群的证书