经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 数据库/运维 » Kubernetes » 查看文章
无法访问k8s.gcr.io下载镜像问题解决办法
来源:cnblogs  作者:高宏宇  时间:2021/1/18 16:04:04  对本文有异议

部署K8S最大的难题是镜像下载,在国内无翻墙环境情况下很难从k8s.gcr.io等镜像源里下载镜像。
这种情况下正确做法是:

  1. 直接指定国内镜像代理仓库(如阿里云代理仓库)进行镜像拉取下载。
  2. 成功拉取代理仓库中的镜像后,再将其tag打标签成为k8s.gcr.io对应镜像。
  3. 最后再删除从代理仓库中拉取下来的镜像。
  4. 要确保imagePullPolicy策略是IfNotPresent,即本地有镜像则使用本地镜像,不拉取!
    或者将下载的镜像放到harbor私有仓库里,然后将image下载源指向harbor私仓地址。
  1. # 阿里云代理仓库地址为:registry.aliyuncs.com/google_containers
  2. # 比如下载
  3. k8s.gcr.io/coredns:1.6.5
  4. # 可以代理为:
  5. registry.aliyuncs.com/google_containers/coredns:1.6.5

下面以阿里云代理仓库为例进行说明:

  1. # 比如下载k8s.gcr.io/coredns:1.6.5镜像,在国内默认是下载失败的!
  2. [root@k8s-vm01 coredns]# pwd
  3. /opt/k8s/work/kubernetes/cluster/addons/dns/coredns
  4. [root@k8s-vm01 coredns]# fgrep "image" ./*
  5. ./coredns.yaml: image: k8s.gcr.io/coredns:1.6.5
  6. ./coredns.yaml: imagePullPolicy: IfNotPresent
  7. [root@k8s-vm03 ~]# docker pull k8s.gcr.io/coredns:1.6.5
  8. Error response from daemon: Get https://k8s.gcr.io/v2/: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
  9. # 这时候去指定国内的阿里云镜像代理仓库进行下载
  10. [root@k8s-vm03 ~]# docker pull registry.aliyuncs.com/google_containers/coredns:1.6.5
  11. 1.6.5: Pulling from google_containers/coredns
  12. c6568d217a00: Pull complete
  13. fc6a9081f665: Pull complete
  14. Digest: sha256:608ac7ccba5ce41c6941fca13bc67059c1eef927fd968b554b790e21cc92543c
  15. Status: Downloaded newer image for registry.aliyuncs.com/google_containers/coredns:1.6.5
  16. registry.aliyuncs.com/google_containers/coredns:1.6.5
  17. # 然后打tag,并删除之前从代理仓库下载的镜像
  18. [root@k8s-vm03 ~]# docker tag registry.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
  19. [root@k8s-vm03 ~]# docker images
  20. REPOSITORY TAG IMAGE ID CREATED SIZE
  21. k8s.gcr.io/coredns 1.6.5 70f311871ae1 5 months ago 41.6MB
  22. registry.aliyuncs.com/google_containers/coredns 1.6.5 70f311871ae1 5 months ago 41.6MB
  23. [root@k8s-vm03 ~]# docker rmi registry.aliyuncs.com/google_containers/coredns:1.6.5
  24. Untagged: registry.aliyuncs.com/google_containers/coredns:1.6.5
  25. Untagged: registry.aliyuncs.com/google_containers/coredns@sha256:608ac7ccba5ce41c6941fca13bc67059c1eef927fd968b554b790e21cc92543c
  26. [root@k8s-vm03 ~]# docker images
  27. REPOSITORY TAG IMAGE ID CREATED SIZE
  28. k8s.gcr.io/coredns 1.6.5 70f311871ae1 5 months ago 41.6MB
  29. # 最终发现我们想要的k8s.gcr.io/coredns:1.6.5镜像被成功下载下来了!
  30. # 最后要记得:
  31. # 确定imagePullPolicy镜像下载策略是IfNotPresent,即本地有镜像则使用本地镜像,不拉取!
  32. # 或者将下载好的镜像放到harbor私有仓库里,然后将image下载地址指向harbor仓库地址。

以上总结三个步骤:

  1. docker pull registry.aliyuncs.com/google_containers/coredns:1.6.5
  2. docker tag registry.aliyuncs.com/google_containers/coredns:1.6.5 k8s.gcr.io/coredns:1.6.5
  3. docker rmi registry.aliyuncs.com/google_containers/coredns:1.6.5

原文链接:http://www.cnblogs.com/gaohongyu/p/14275873.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号