K3S 集群无法拉取公共 docker hub 镜像。在本例中,我将使用 linuxserver/webtop 来显示错误
Failed to pull image "linuxserver/webtop": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/linuxserver/webtop:latest": failed to copy: httpReaderSeeker: failed open: failed to do request: Get "https://production.cloudflare.docker.com/registry-v2/docker/registry/v2/blobs/sha256/93/935ea2a17ae86691c14df443e21f3c69a6f75609894f8cfe9378b66e39c0d752/data?verify=1634025162-%2Bc4663u0w0ArAbfgBm4aFRfJUh4%3D": dial tcp: lookup production.cloudflare.docker.com: no such host
我发现了很多与此类似的帖子,但它们都与尝试拉取导致此问题的私有图像有关。因此,尽管可能相关,但我认为这是其他原因。
我确实认为它可能与 dockerhub 网站上的速率限制有关,但我已经尝试使用 docker pull 直接从所有节点单独拉取镜像,并且运行良好,所以问题似乎出在其他地方。
我曾尝试使用 imagePullSecrets: 将我的 docker 凭据添加到部署中,但没有解决。
由于这个错误,我觉得值得一提的是,在节点上我使用 1.1.1.1 作为 DNS
如果有人知道问题可能是什么,我们将不胜感激。
例如这里似乎也是间歇性的。
Events:
Type Reason Age From Message
---- ------ ---- ---- -------
Normal Scheduled 7m2s default-scheduler Successfully assigned default/dnstest-l6dh2 to node-3
Warning Failed 7m1s kubelet Failed to pull image "busybox:1.28": rpc error: code = Unknown desc = failed to pull and unpack image "docker.io/library/busybox:1.28": failed to resolve reference "docker.io/library/busybox:1.28": failed to do request: Head "https://registry-1.docker.io/v2/library/busybox/manifests/1.28": dial tcp: lookup registry-1.docker.io: no such host
Warning Failed 7m1s kubelet Error: ErrImagePull
Normal BackOff 7m1s kubelet Back-off pulling image "busybox:1.28"
Warning Failed 7m1s kubelet Error: ImagePullBackOff
Normal Pulling 6m49s (x2 over 7m2s) kubelet Pulling image "busybox:1.28"
Normal Pulled 6m47s kubelet Successfully pulled image "busybox:1.28" in 1.3937859s
Normal Created 6m47s kubelet Created container alpine
Normal Started 6m47s kubelet Started container alpine
答案1
我也遇到了这个问题。我的问题是我有多个默认路由。
我在这里写了一篇关于这个的文章,
如果您能检查一下并确认这也是您的问题,我将不胜感激。您没有给我太多线索,但这与我看到的 100% 一致。我花了一周时间才解决这个问题。