Kubernets-Restore-Cert-Fix-5.7
查看完整日志,定位Real errors
1 | # 查看 kubelet 完整启动日志 |
Process:
🔥 问题!
两个致命错误,导致 kubelet 启动失败:
- 证书过期:
bootstrap client certificate is expired(证书 2026-01-11 就过期了) - 配置文件丢失:
/etc/kubernetes/bootstrap-kubelet.conf: no such file or directory
集群证书失效 + 配置文件损坏,直接重置主节点
✅ Solution
第一步:清理损坏的集群(主节点执行)
1 | # 停止 kubelet |
第二步:重新初始化主节点
主节点 IP 192.168.107.100 用上:
1 | kubeadm init \ |
第三步:恢复 kubectl 配置
1 | mkdir -p $HOME/.kube |
第四步:安装网络插件(flannel)
1 | kubectl apply -f https://raw.githubusercontent.com/coreos/flannel/master/Documentation/kube-flannel.yml |
第五步:检查恢复状态
1 | kubectl get nodes |
🔁 从节点重新加入集群
初始化完成后,控制台会输出 kubeadm join 命令,复制下来,去两台从节点分别执行,就能重新加入集群。
🔥 一、 master主节点
1 | kubeadm token create --print-join-command |
🔥 二、从节点(node1、node2)
Node1
🔍 报错原因
节点 node1 上残留了旧的 Kubernetes 配置文件,导致 kubeadm join 执行预检时失败:
1 | /etc/kubernetes/kubelet.conf already exists |
之前集群残留的,kubeadm 为了防止冲突,会拒绝加入操作。
✅ Node1
1. 重置旧配置,清残留
1 | # 重置 kubeadm 状态 |
2. again执行 join 命令
1 | kubeadm join 192.168.107.100:6443 --token eqa5wr.iel9zqma9qbtg44r --discovery-token-ca-cert-hash sha256:76a485be101c49db1facdf59d57d0be18751ef621d020c9403a05e4375c61d84 |
✅ Node2
Node2
主节点查看
🔥 三、主节点查看集群
🔍 KubePi平台 显示修复
集群在命令行已经恢复正常,但 KubePi 里显示异常
核心原因是:KubePi 还在使用旧的集群配置,没有更新你重置后的新 kubeconfig。
1. 根本原因
KubePi 是通过 kubeconfig 文件连接集群的,重置主节点后:
/etc/kubernetes/admin.conf证书和配置已经更新- KubePi 里保存的还是旧的、过期的
kubeconfig,导致它无法正常连接集群,所以显示“异常”。
2. 修复
步骤1:导出主节点最新的 kubeconfig
master 节点上执行,导出新的配置文件:
1 | cat /etc/kubernetes/admin.conf |
复制输出的全部内容(从 apiVersion: v1 开始,到最后一行结束)。
步骤2:在 KubePi 里更新集群配置
- 在配置文件输入框里,粘贴刚才复制的完整
admin.conf内容




