K3S 无法拉取公共 docker hub 镜像

K3S 无法拉取公共 docker hub 镜像

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% 一致。我花了一周时间才解决这个问题。

相关内容