、解决方案
✅ 方法 1:使用 kubeadm 自动更新证书(最推荐)

如果你的集群是用 kubeadm 部署的:

登录到 master 节点

执行:

sudo kubeadm certs check-expiration

查看哪些证书过期了。

如果确实过期:

续签所有证书
sudo kubeadm certs renew all

更新 kubeconfig 文件
sudo kubeadm init phase kubeconfig all

更新 kubectl 使用的配置文件
mkdir -p $HOME/.kube
sudo cp -f /etc/kubernetes/admin.conf $HOME/.kube/config

注:其中的 $HOME/.kube 指的是本地的 /root/.kube 目录

重新加载组件:

sudo systemctl restart kubelet

再次验证:

kubectl get nodes

✅ 方法 2:如果 kubeadm 命令不可用或集群不是 kubeadm 搭建

你需要手动重新生成证书。例如使用 openssl 或 cfssl。

关键点是:

新证书的 CN/O/U 必须与旧证书一致;

新证书签发后替换 /etc/kubernetes/pki/*.crt;

更新对应的 kubeconfig 文件(admin.conf、controller-manager.conf、scheduler.conf);

重启所有控制平面组件。

✅ 方法 3:临时应急方案(不推荐,仅用于排障)

如果只是想紧急访问集群,可以在本地:

sudo date -s “2025-10-11 10:00:00”

把系统时间暂时调回证书还未过期的时间段(例如 10 分钟前),
然后执行 kubectl 命令。
⚠️ 仅作应急!修复证书后请立即改回正确时间。

Logo

码道开发者社区,聚焦华为云码道 CodeArts 代码智能体,沉淀 Agent、Skill、鸿蒙开发实战内容,供开发者查阅资料、交流技术、分享工程实践

更多推荐