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

Kubernetes拉取本地私有Docker Registry镜像部署Pod失败如何解决

私有镜像仓库拉取失败解决方案

核心报错原因:Kubernetes节点的容器运行时默认使用HTTPS协议访问镜像仓库,你当前部署的Registry为无TLS的HTTP服务,且仅在当前操作节点配置了Docker的不安全仓库规则,未同步配置所有K8s集群节点的容器运行时。


方案一:配置所有K8s节点信任HTTP私有仓库(仅测试环境使用,不建议生产)

需要在所有Master和Worker节点执行对应容器运行时的配置:

节点使用Docker作为容器运行时

  1. 修改/etc/docker/daemon.json,加入不安全仓库配置:
{
  "insecure-registries" : [ "192.168.1.37:5000" ]
}
  1. 重启服务生效:
sudo systemctl daemon-reload
sudo systemctl restart docker

节点使用Containerd作为容器运行时(当前多数K8s发行版默认 runtime)

  1. 编辑containerd配置文件/etc/containerd/config.toml,找到[plugins."io.containerd.grpc.v1.cri".registry]段,修改为:
[plugins."io.containerd.grpc.v1.cri".registry]
  [plugins."io.containerd.grpc.v1.cri".registry.mirrors]
    [plugins."io.containerd.grpc.v1.cri".registry.mirrors."192.168.1.37:5000"]
      endpoint = ["http://192.168.1.37:5000"]
  [plugins."io.containerd.grpc.v1.cri".registry.configs]
    [plugins."io.containerd.grpc.v1.cri".registry.configs."192.168.1.37:5000".tls]
      insecure_skip_verify = true
  1. 重启containerd生效:
sudo systemctl restart containerd

配置完成后重新部署Pod即可正常拉取镜像。


方案二:使用带TLS和身份认证的私有仓库(生产环境推荐)

你提供的补充Registry部署命令已包含自签证书和身份认证配置,需额外完成以下三步配置:

  1. 所有K8s节点信任自签证书:将Registry节点生成的domain.crt复制到所有K8s节点:
# 在部署Registry的节点执行,替换<节点IP>为所有K8s节点IP逐一执行
scp ./certs/domain.crt root@<节点IP>:/tmp/

# 分别登录每个节点执行
mkdir -p /etc/docker/certs.d/192.168.1.37:5000/
cp /tmp/domain.crt /etc/docker/certs.d/192.168.1.37:5000/ca.crt
# 若使用containerd,还需加入系统信任
cp /tmp/domain.crt /usr/local/share/ca-certificates/192.168.1.37.crt
update-ca-certificates
systemctl restart containerd # 用Docker的话改为重启docker服务
  1. 创建K8s镜像拉取Secret:在部署Pod的命名空间下创建仓库认证Secret:
kubectl create secret docker-registry regcred \
  --docker-server=192.168.1.37:5000 \
  --docker-username=username \
  --docker-password=password
  1. Pod配置中引用Secret:在Pod YAML中加入imagePullSecrets字段:
apiVersion: v1
kind: Pod
metadata:
  name: tf-http-server
spec:
  containers:
  - name: tf-http-server
    image: 192.168.1.37:5000/truc/tf-http-server:0.1
  imagePullSecrets:
  - name: regcred

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.07 02:27:02