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

启动MicroK8s集群时拉取registry.k8s.io镜像报403错误

解决MicroK8s拉取registry.k8s.io/pause:3.7镜像403的问题

问题分析

从错误日志和docker拉取同样失败的情况来看,核心原因是服务器无法正常访问registry.k8s.io镜像仓库,导致拉取pause镜像时返回403 Forbidden。以下是针对性的解决方案:

解决方案

1. 验证网络连通性与域名解析

  • 测试镜像仓库的可访问性:
    curl -I https://registry.k8s.io/v2/pause/manifests/3.7
    
    如果返回403或无法连接,说明网络层面存在限制(比如防火墙、安全组拦截,或者网络访问受限)。
  • 检查域名解析:
    nslookup registry.k8s.io
    
    若解析异常,可临时修改服务器DNS配置,编辑/etc/resolv.conf添加公共DNS:
    echo "nameserver 8.8.8.8" >> /etc/resolv.conf
    

2. 配置镜像加速替换registry.k8s.io

修改MicroK8s的containerd配置,将registry.k8s.io替换为可访问的镜像源:

  • 编辑containerd模板文件:
    sudo vi /var/snap/microk8s/current/args/containerd-template.toml
    
  • 在[plugins."io.containerd.grpc.v1.cri".registry.mirrors]节点下添加:
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."registry.k8s.io"]
      endpoint = ["https://registry.cn-hangzhou.aliyuncs.com/google_containers"]
    
  • 重启MicroK8s使配置生效:
    sudo microk8s stop && sudo microk8s start
    

3. 手动导入pause镜像

如果网络限制无法解除,可在能正常访问的机器上拉取镜像,再导入目标服务器的MicroK8s:

  • 在可访问机器上拉取并导出镜像:
    docker pull registry.k8s.io/pause:3.7
    docker save -o pause.tar registry.k8s.io/pause:3.7
    
  • 将pause.tar传输到目标服务器后,导入MicroK8s的containerd:
    sudo microk8s ctr images import pause.tar
    
  • 验证镜像是否导入成功:
    sudo microk8s ctr images list | grep pause
    

4. 检查现有配置有效性

你之前启用的localhost:3200不安全仓库仅针对私有镜像,与registry.k8s.io的访问无关,无需调整该配置。MicroK8s的DNS功能不影响镜像拉取的网络连接,可忽略。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.02 00:31:14