- 1、检查证书过期时间
在所有控制平面节点执行:
kubeadm alpha certs check-expiration #新版为 kubeadm certs check-expiration
- 2、更新证书
在所有控制平面节点执行:
kubeadm alpha certs renew all #新版为 kubeadm certs renew all
- 3、重启控制平面pod
动态证书重载目前还不被所有组件支持,因此需要重启控制面pod。apiserver、controller-manager、scheduler等静态 Pods 是被本地 kubelet 而不是 API Server 管理, 所以 kubectl 不能用来删除或重启他们。 正确的重启方法是临时将清单文件从 /etc/kubernetes/manifests/ 移除并等待 20 秒(参考 KubeletConfiguration 结构 中的fileCheckFrequency 值)。此时kubelet 会自动终止这些pod。pod终止后再将文件移回去,kubelet将重新创建这些pod。
mv /etc/kubernetes/manifests/*yaml /tmp/ #等待20秒 #检查对应pod是否已终止 crictl ps #移回清单文件 mv /tmp/*.yaml /etc/kubernetes/manifests/ #等待20秒 crictl ps
- 4、重启 kubelet
systemctl restart kubelet
- 5、更新kubectl使用的配置文件
cp /etc/kubernetes/admin.conf $HOME/.kube/config