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

MicroK8s跨虚拟机拉取本地仓库镜像遇ImagePullBackOff问题

排查ImagePullBackOff问题的具体步骤

1. 修正MicroK8s的容器运行时配置

你在虚拟机上配置的是Docker的insecure-registries,但MicroK8s默认使用containerd作为容器运行时,二者配置不通用。需要给MicroK8s的containerd添加不安全镜像仓库配置:

  • 编辑containerd模板配置文件:
    sudo nano /var/snap/microk8s/current/args/containerd-template.toml
    
  • 在[plugins."io.containerd.grpc.v1.cri".registry.mirrors]节点下添加以下内容:
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.56.11:32000"]
      endpoint = ["http://192.168.56.11:32000"]
    [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.56.11:32000".tls]
      insecure_skip_verify = true
    
  • 重启MicroK8s使配置生效:
    microk8s stop && microk8s start
    

2. 查看Pod镜像拉取的具体错误

执行命令获取Pod的详细事件日志,定位具体失败原因:

kubectl describe pod <你的Pod名称>

重点关注Events区域的报错信息,比如权限验证失败、仓库地址无法解析、证书校验错误等。

3. 在MicroK8s内部测试镜像拉取

用MicroK8s自带的crictl工具直接拉取镜像,验证containerd配置是否生效:

microk8s crictl pull 192.168.56.11:32000/image:registry

如果该命令失败,说明containerd配置未正确加载,需重新检查配置文件格式和重启流程。

4. 验证Helm配置的实际生效情况

查看部署后的Pod镜像参数,确认Helm渲染后的配置与预期一致:

kubectl get pod <你的Pod名称> -o jsonpath='{.spec.containers[0].image}'

确保输出结果与values.yaml中配置的192.168.56.11:32000/image:registry完全匹配,排除模板渲染错误。


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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.03 11:05:19