• 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