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

无法通过Helm Chart在KinD集群部署Docker镜像

解决KinD集群拉取本地镜像仓库镜像失败的问题

问题分析

从报错信息来看,containerd尝试访问http://kind-registry:5000时出现Unknown Host错误,说明集群节点无法解析该主机名,或者镜像引用的地址在集群内部无法正确映射到本地仓库。结合你的配置,核心问题在于:主机上的localhost:5001是端口映射后的外部访问地址,但KinD集群节点(以Docker容器形式运行)内部无法通过localhost访问主机的本地仓库,同时containerd的镜像镜像规则未正确生效。

解决方案

方案1:修改Helm values.yaml中的镜像仓库地址

直接将镜像仓库地址替换为KinD集群内部可直接访问的仓库地址:

image:
  repository: kind-registry:5000/example
  pullPolicy: Always
  tag: "latest" 

service:
  type: NodePort
  port: 31236
  targetPort: 8087

修改后重新执行Helm安装命令:

helm install emp2 emp2-ch

方案2:修复containerd镜像镜像配置(可选)

如果坚持使用localhost:5001/example作为镜像地址,需确保containerd的镜像规则正确生效,且集群节点能解析kind-registry主机名:

  1. 验证registry容器已连接到kind网络:
docker inspect kind-registry | grep Networks

确认输出中包含kind网络。
2. 检查KinD节点的containerd配置是否正确:
进入任意KinD节点容器:

docker exec -it example-control-plane bash

查看containerd配置文件/etc/containerd/config.toml,确认存在以下配置:

[plugins."io.containerd.grpc.v1.cri".registry.mirrors."localhost:5001"]
  endpoint = ["http://kind-registry:5000"]

如果配置缺失,重新执行你的集群创建脚本,或者手动修改配置后重启containerd:

systemctl restart containerd

验证

部署完成后,检查Pod状态确认镜像拉取成功:

kubectl get pods

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.02 08:25:02