gpt4 book ai didi

docker - 配置 kubernetes 从注册服务中拉取

转载 作者:行者123 更新时间:2023-12-02 08:17:54 25 4
gpt4 key购买 nike

所以,我试图让我的 kube 集群从内部运行的注册表中拉取。我有 kube dns 设置,我有一个注册表部署和服务正在运行。我可以通过节点上的主机命令解析服务内部名称。我已经使用 kube dns 服务的地址向 docker 守护进程添加了 --dns 标志。我运行的 kubelet 也将 --cluster-dns 标志设置为相同的地址。然而,不知何故,这就是我尝试使用此注册表创建 pod 时得到的结果。
Failed to pull image "kube-registry.kube-system.svc.cluster.local/myuser/myimage": rpc error: code = Unknown desc = Error response from daemon: Get https://kube-registry.kube-system.svc.cluster.local/v1/_ping: dial tcp: lookup kube-registry.kube-system.svc.cluster.local: no such host
不知何故,即使 kube dns 地址明确提供给 dockerd 和 kubelet,由于名称解析,从注册表服务中提取图像也会失败。我错过了什么?

最佳答案

另一种解决方案是将 kube-dns IP 添加到 resolv.conf :

echo "nameserver $(kubectl -n kube-system get svc kube-dns -o jsonpath='{.spec.clusterIP}')" >> /etc/resolv.conf

CoreDNS 服务通过 static IP 公开,因此无需保持更新。

我可以确认它适用于 Ubunutu 18.04,尽管 resolv.conf 是由 systemd-resolved 生成的。不需要额外的 DNS 配置。仅 FQDN 提供的服务:
root@dev:~# nslookup harbor.default.svc.cluster.local
;; Got SERVFAIL reply from 127.0.0.53, trying next server
Server: 10.96.0.10
Address: 10.96.0.10#53

Name: harbor.default.svc.cluster.local
Address: 10.109.118.191
;; Got SERVFAIL reply from 127.0.0.53, trying next server

关于docker - 配置 kubernetes 从注册服务中拉取,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49699082/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com