1. 检查证书是否有效

kubectl get node -A

2. 更新证书

kubeadm alpha certs check-expiration
kubeadm alpha certs renew all
kubeadm alpha certs check-expiration
cp -i /etc/kubernetes/admin.conf $HOME/.kube/config
kubeadm alpha certs check-expiration

3. 重启服务

docker ps |grep k8s_kube-apiserver
docker restart 9c902b3b3f4d
docker ps |grep k8s_kube-controller-manager
docker restart 6d9be9bc62c0
docker ps |grep k8s_kube-scheduler
docker restart 4752cc4b5cef
docker ps |grep etcd
docker restart 3d8f55f1180c

4. 如果登录 sdp 仍无法使用,重新加集群

# 总集群删除成员
kubectl delete cluster xxx
# web 添加 集群名用原来的 xxx,采用直接连接到方式
# 获取成员集群的管理配置,然后把内容粘贴到 web 添加页面,其中 localhost 要改成内网 ip 地址
cat $HOME/.kube/config

⚠️ 作者注:本文档保留原始记录,实操时请结合以下补充事项:

  • kubectl get node -A 中的 -A 多余,node 不属于 namespace,执行 kubectl get node 即可
  • 现代 K8s 版本(1.24+)kubeadm alpha certs 已弃用,推荐使用 kubeadm certs check-expiration / kubeadm certs renew all
  • 重启 K8s 组件应优先使用 systemctl restart kube-apiserver 等 systemd unit,而不是 docker restart(docker-compose 时代的集群名 k8s_* 仅适用于早期 kubeadm)
  • sdp 集群纳管步骤为特定平台操作,其他 K8s 用户可跳过第 4 步