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

Ubuntu 22.04 LTS下MicroK8s Pod无法启动,疑似containerd服务冲突问题

Ubuntu 22.04 LTS下MicroK8s Pod无法启动,疑似containerd服务冲突问题

最近我碰上个棘手的问题:几天前为了测试项目装了MicroK8s,结果Pod死活启动不了,折腾半天终于摸到了一些线索,跟大家分享下。

我用的是Ubuntu 22.04 LTS,这台机器之前装过Docker和Minikube,都能正常运行。

调试过程中,我发现系统里居然跑着两个containerd服务,用这条命令就能查出来:

sudo systemctl | grep containerd

输出结果是:

containerd.service loaded active running containerd container runtime
snap.microk8s.daemon-containerd.service loaded active running Service for snap application microk8s.daemon-containerd

我感觉这就是问题的核心,先把这个线索记下来。

之后我去看snap.microk8s.daemon-kubelite.service的日志,发现这个服务一直在反复重启,报错信息是:

microk8s.daemon-kubelite[3059551]: F0619 19:29:37.362667 3059551 daemon.go:57] Kubelet exited failed to run Kub...

解决思路

既然是containerd服务冲突,核心就是让MicroK8s能正常使用自己专属的containerd环境,下面给两个可行方案:

  • 方案一:停用系统自带的containerd(适用于不再使用Docker的场景)
    如果之前的Docker已经不需要了,可以直接停掉并禁用系统层面的containerd服务:

    sudo systemctl stop containerd
    sudo systemctl disable containerd
    

    然后重启MicroK8s服务:

    sudo microk8s stop
    sudo microk8s start
    
  • 方案二:修改MicroK8s的containerd配置(适用于需要保留系统containerd的场景)
    如果还要继续用Docker,那就得让MicroK8s的containerd使用独立的socket路径,避免冲突:

    1. 编辑MicroK8s的containerd模板配置文件:
    sudo nano /var/snap/microk8s/current/args/containerd-template.toml
    
    1. 找到grpc配置段,修改socket_path为一个不冲突的路径,比如:
    [grpc]
      address = "/var/snap/microk8s/current/run/containerd.sock"
    
    1. 重启MicroK8s相关服务:
    sudo systemctl restart snap.microk8s.daemon-containerd
    sudo systemctl restart snap.microk8s.daemon-kubelite
    

另外,也可以检查下Minikube有没有残留配置干扰,如果已经不用Minikube了,建议彻底卸载:

minikube delete
sudo apt purge minikube

备注:内容来源于stack exchange,提问作者gai-jin

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.04.16 12:04:49