修改機器時間模擬證書過期,同樣如果想生成的證書有效期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