我一直在使用 GKE 部署一些公共镜像,例如 redis 和 postgres。但我遇到了一个有趣的问题,它不提取图像,似乎带有特定的标签。
我不断收到的错误是:
无法拉取镜像“postgres:alpine”:rpc 错误:代码 = 未知 desc = 来自守护进程的错误响应:获取https://registry-1.docker.io/v2/ https://registry-1.docker.io/v2/:net/http:等待连接时请求已取消(等待标头时超出了 Client.Timeout)
我一直试图在有效和无效的模式中发现一种模式,似乎没有任何标签的模式总是有效;一些图像示例have worked:
还有那些haven't:
postgres:alpine
postgres:12
我验证了我可以使用以下命令将所有这些图像拉到我的本地计算机上docker pull
.
这是我使用的示例部署 kube 文件:
apiVersion: apps/v1
kind: Deployment
metadata:
name: postgres
labels:
app: postgres
spec:
replicas: 1
selector:
matchLabels:
app: postgres
template:
metadata:
labels:
app: postgres
spec:
containers:
- image: postgres:alpine
name: postgres
ports:
- containerPort: 5432
name: postgres
我希望我错过了一些非常明显的事情。干杯。
我希望我错过了一些非常明显的事情。干杯。
我认为您没有错过任何东西,并且肯定有任何明显的并且可以在您的配置中轻松指出的内容。
我搜索了与此问题相关的一些信息,结果发现它已经被广泛讨论,例如here https://stackoverflow.com/questions/48056365/error-get-https-registry-1-docker-io-v2-net-http-request-canceled-while-b并提供了不同的解决方案。
GitHub 上也有报道:
- https://github.com/docker/for-win/issues/611 https://github.com/docker/for-win/issues/611
- https://github.com/moby/moby/issues/32270 https://github.com/moby/moby/issues/32270
以及关于码头工人论坛 https://forums.docker.com/t/error-response-from-daemon-get-https-registry-1-docker-io-v2/23741/3.
总结一下调查结果:
- 看起来在某些情况下问题可能与使用额外的防火墙或proxy https://stackoverflow.com/a/48066666/11714114。也可以看看这个帖子 https://github.com/moby/moby/issues/32270#issuecomment-340709035.
- 可能与DNS设置有关 https://stackoverflow.com/a/48776535/11714114并设置
8.8.8.8
因为您的主 DNS 通常可以解决问题。 GitHub 上不同线程中的许多人都报告说这个解决方案对他们有用,例如here https://github.com/moby/moby/issues/22635#issuecomment-260063252 or here https://github.com/docker/for-win/issues/611#issuecomment-315036774.
或者甚至简单地重新启动码头工人 https://github.com/docker/for-win/issues/611#issuecomment-326730211可能有帮助 ;)
在处理本地 kubernetes 安装时,上述问题实际上更有可能发生。
As to GKE, 好像类似的问题 https://stackoverflow.com/questions/56558767/one-node-for-a-gke-cluster-cannot-pull-image-from-dockerhub也被报道。评论于这个公共问题 https://issuetracker.google.com/issues/119820482可能表明该问题也可能出现在某些较新的 GKE 版本中。
我发现这也有描述GKE 官方文档 https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters#docker_hub但通常会发生这种情况,并且当您使用时您会收到类似的错误消息私有集群 https://cloud.google.com/kubernetes-engine/docs/how-to/private-clusters但这可能表明即使在标准 GKE 集群该问题可能与公共互联网的出站连接有限有关。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)