You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

MicroK8s单节点kubelite与cluster-agent服务故障求助

MicroK8s 单节点故障修复指南

问题背景

单节点部署的MicroK8s因Pod耗尽节点全部资源触发故障,后续删除部分Deployment释放资源并清理磁盘空间后,节点资源已恢复充足,但microk8s refresh-certs -e server.crt和microk8s reset命令均无法解决问题,核心服务仍无法启动。

关键错误定位

从日志输出可定位两个核心问题:

  • Kubelite服务启动失败:API Server因serving-cert::/var/snap/microk8s/4595/certs/server.crt证书内容缺失直接退出
  • Cluster-agent服务启动失败:执行脚本时找不到/snap/microk8s/4595/bin/uname文件,提示文件不存在

分步修复方案

1. 重新生成缺失的API Server证书

由于自带的refresh-certs命令无效,手动执行证书重建:

# 停止所有MicroK8s服务
sudo snap stop --all microk8s
# 备份现有证书目录(可选操作,用于故障回滚)
sudo cp -r /var/snap/microk8s/4595/certs /var/snap/microk8s/4595/certs_backup
# 删除损坏的server证书文件
sudo rm -f /var/snap/microk8s/4595/certs/server.crt /var/snap/microk8s/4595/certs/server.key
# 重新生成所有MicroK8s证书
sudo microk8s refresh-certs --all

2. 修复Cluster-agent的文件缺失问题

该问题由Snap包损坏导致,需重新安装对应版本的MicroK8s包:

# 查看当前安装的MicroK8s版本号
snap info microk8s | grep "installed"
# 重新安装指定版本(示例中版本为4595,替换为实际版本号)
sudo snap refresh microk8s --revision=4595

3. 验证服务状态

完成上述操作后启动服务并验证:

# 启动MicroK8s服务
sudo snap start microk8s
# 查看服务运行状态
microk8s status
# 执行健康检查
microk8s inspect

4. 终极强制重置(若以上步骤无效)

如果证书重建和Snap重装均未解决问题,执行强制清理重置:

# 停止所有MicroK8s服务
sudo snap stop --all microk8s
# 删除核心数据目录
sudo rm -rf /var/snap/microk8s/common/var/lib/kubelet /var/snap/microk8s/common/var/lib/dqlite
# 执行重置命令
sudo microk8s reset

恢复验证标准

  • microk8s status输出显示所有组件处于running状态
  • microk8s inspect无任何失败项
  • 可正常执行microk8s kubectl get pods -A等命令查看集群资源

内容的提问来源于stack exchange,提问作者noname7619

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.26 23:32:06