首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >没有这样的主机: Kubernetes/Docker不能从私有k8注册表中提取

没有这样的主机: Kubernetes/Docker不能从私有k8注册表中提取
EN

DevOps用户
提问于 2019-12-31 14:21:52
回答 1查看 1.8K关注 0票数 2

我在k8的默认名称空间中有一个专用的停靠器注册中心,tlshttps://docker-registry.default:5000上。通过对其进行本地端口转发(在端口5000处)并将docker-registry.default添加到我的/etc/hosts文件中,我已经能够拉出并将图像推送到它。

但是,我使用的是一个无服务器框架(Nuclio),它为我管理部署。我得到的错误是:

代码语言:javascript
复制
Normal   Scheduled  7m52s                   default-scheduler                                       Successfully assigned nuclio/helloworld1-96876fcf9-7c87w to gke-your-first-cluster-1-pool-1-fe915942-gnkx
  Normal   Pulling    6m14s (x4 over 7m51s)   kubelet, gke-your-first-cluster-1-pool-1-fe915942-gnkx  Pulling image "docker-registry.default:5000/docker/nuclio/processor-helloworld1:latest"
  Warning  Failed     6m14s (x4 over 7m51s)   kubelet, gke-your-first-cluster-1-pool-1-fe915942-gnkx  Failed to pull image "docker-registry.default:5000/docker/nuclio/processor-helloworld1:latest": rpc error: code = Unknown desc = Error response from daemon: Get https://docker-registry.default:5000/v2/: dial tcp: lookup docker-registry.default on 169.254.169.254:53: no such host
  Warning  Failed     6m14s (x4 over 7m51s)   kubelet, gke-your-first-cluster-1-pool-1-fe915942-gnkx  Error: ErrImagePull
  Normal   BackOff    6m2s (x6 over 7m51s)    kubelet, gke-your-first-cluster-1-pool-1-fe915942-gnkx  Back-off pulling image "docker-registry.default:5000/docker/nuclio/processor-helloworld1:latest"
  Warning  Failed     2m38s (x21 over 7m51s)  kubelet, gke-your-first-cluster-1-pool-1-fe915942-gnkx  Error: ImagePullBackOff

它给出了一个no such host错误。

一位Nuclio开发人员已经确认,这不是一个核心问题,因为我甚至不能从核心管理器(而不是上面失败的吊舱)到这个内部docker login完成一个docker login,尽管我可以成功地为码头中心做一个D8,从一个wgetdocker-registry.default。如果有帮助的话,就是高寒Linux。

EN

回答 1

DevOps用户

发布于 2020-09-11 13:45:19

似乎您的专用DNS配置错误。检查您的主机或确保docker-registry.default是一个有效的主机名。

您可以运行一个临时的Ubuntu来检查主机名在集群中是否正确解析。

代码语言:javascript
复制
$ kubectl run ubuntu -it --image ubuntu --rm=true -- bash
root@shell:/# apt update && DEBIAN_FRONTEND=noninteractive apt --yes install dnsutils
root@shell:/# dig docker-registry.default
docker-registry.default.    IN  A D0.y0u.h4ve.1P?

补充建议:

  • 如果您使用的是云提供商(如Azure),请确保您的私有DNS区域与集群的虚拟网络相链接。读:使用Azure专用链接私下连接到Azure容器注册表
  • 如果容器注册表端点不正确,请编辑部署清单并修复映像路径。
  • 测试从同一专用网中的另一个VM中提取映像。
票数 1
EN
页面原文内容由DevOps提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://devops.stackexchange.com/questions/10349

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档