#!/bin/bash /bin/kubeadm alpha certs renew all cd cp /root/.kube/config /root/.kube/bak-config-$(date +%F) #备份原来的文件 /bin/\cp /etc/kubernetes/admin.conf /root/.kube/config #将生成的新证书替换原来的老证书 /bin/kubeadm alpha certs check-expiration #查看证书日期释放更新 /bin/mv /etc/kubernetes/manifests/kube-apiserver.yaml / #重启apiserver sleep 30 /bin/mv /kube-apiserver.yaml /etc/kubernetes/manifests/ 重启apiserver /bin/kubectl get nodes #查看是否正常 # 分发K8S证书到其他节点,先备份原来的config文件再分发,注意,需要能免密登录到可以执行kubectl的机器,或者使用rsync服务进行同步 ssh 172.21.91.125 && cp /root/.kube/config /root/.kube/bak-config-$(date +%F) #备分原来老的证书 scp /root/.kube/config 172.21.91.125:/root/.kube/ #复制到目标机器 ssh 172.21.91.125 && kubectl get nodes #执行检查结果 exit 0
定时任务解决,每年执行一次
00 00 1 12 * /bin/bash /data/scripts/k8s_Certificate_renewal.sh