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

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM