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

是否可以修改Kubernetes的镜像仓库搜索列表?

Kubernetes 全局镜像重定向解决方案

针对无需修改编排文件、自动将Docker Hub镜像请求转发到内部私有仓库的需求,可通过容器运行时层配置或集群准入控制器两种方案实现:

方案1:节点容器运行时全局配置(推荐,性能损耗最小)

直接在所有集群工作节点的容器运行时中配置Docker Hub镜像mirror规则,拉取镜像时自动路由到内部仓库,对上层workload完全无感知。

适用Containerd运行时(K8s v1.24+ 默认运行时)

  • 编辑节点配置文件 /etc/containerd/config.toml,找到registry配置段,添加如下规则:
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."docker.io"]
      endpoint = ["https://internal-docker-registry.io:5000"]
    
  • 执行以下命令重启服务生效:
    systemctl daemon-reload && systemctl restart containerd

适用Docker运行时

  • 编辑节点配置文件 /etc/docker/daemon.json,添加镜像仓库配置:
    {
      "registry-mirrors": ["https://internal-docker-registry.io:5000"]
    }
    
  • 执行以下命令重启服务生效:
    systemctl daemon-reload && systemctl restart docker

适用CRI-O运行时

  • 编辑节点配置文件 /etc/containers/registries.conf,添加重定向规则:
    [[registry]]
    prefix = "docker.io"
    location = "internal-docker-registry.io:5000"
    
  • 重启CRI-O服务生效。

方案2:集群准入控制器配置

若不方便批量修改节点配置,可部署集群级镜像改写准入插件,在Pod创建阶段自动将镜像地址替换为内部仓库地址,无需修改节点配置。

注意事项

  • 内部镜像仓库internal-docker-registry.io:5000需要提前同步所有用到的Docker Hub公共镜像,避免拉取404错误
  • 若内部仓库使用HTTP协议,需要对应在容器运行时配置中添加不安全仓库标识,跳过TLS校验

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.01 16:06:03