目 录CONTENT

文章目录

通过阿里云容器镜像服务下载gcr.io镜像

简中仙
2022-05-10 / 0 评论 / 0 点赞 / 51 阅读 / 0 字 / 正在检测是否收录...
温馨提示:
本文最后更新于2024-01-14,若内容或图片失效,请留言反馈。 本文如有错误或者侵权的地方,欢迎您批评指正!

这篇学习笔记是基于杜宽老师在51CTO上发布的视频课程制作的。在此,感谢杜宽老师的分享和教学。如有侵权,请及时联系我。版权归原作者所有,未经允许不得转载或使用。

通过kubeadm部署k8s集群,在执行kubeadm init命令时,默认生成的manifests文件夹下yaml文件的镜像都是gcr.io上的,在国内由于被墙而不能正常下载,也就导致了集群不能正常安装。那么问题来了,要怎样才能下载这些镜像呢?我们可以购买vpn,但是这个要带来一定的费用,所以我们要寻找免费下载gcr.io镜像的途径,阿里云就提供了这一服务。本文通过github设置代码源下载所需的gcr.io镜像。

20180619210304424
首先在github创建一个repository,创建好后然后git clone到本地,并在本地创建所需下载的镜像dockerfile,这里本地的目录层级为 镜像名称->版本号->dockerfile。创建之后再把所有的文件push到github仓库。最后的结果如下:

选取其中一个组件的dockerfile,查看其中的内容

From k8s.gcr.io/kube-scheduler-amd64:v1.9.3
MAINTAINER polarwu <547636195@qq.com>

里面的内容非常少,就两行,其中第一行是基于某个镜像制作的新镜像,第二行为作者信息。通过这个dockerfile我们就可以看出端倪来了,其实我们什么都没做,就是利用阿里云这个介质帮我们翻墙去下载镜像。

登录阿里云的容器镜像服务网址https://www.aliyun.com/product/acr,进入管理控制台,在容器镜像服务->镜像列表->创建镜像仓库,按照要求填写相关信息,示例如下

20180619211401465

这里的设置代码源选择step 1中的github的镜像仓库,在构建设置处选择海外机器构建,选择分支,以及dockerfile目录,这里没有统一的格式,本人只是为了方便以按照 镜像名称->版本号->dockerfile的目录层级做分类。
对于需要下载多个不同镜像需重复操作这一过程,最后的仓库列表如下

2018061921191233

创建完仓库之后,我们就可以进行构建了,在 容器镜像服务->镜像列表->(选择需要创建的镜像)->管理->构建->立即构建 就可以开始构建了,构建截图

20180619212321243

可以通过构建日志查看构建过程中出现的错误。
下载镜像可以通过基本信息页面的公网网址和版本号下载,下载形式为docker pull 公网网址:版本号 。

总结

以上为通过阿里云容器镜像服务下载被墙的镜像,原理也挺简单的,这里把阿里云的服务器当作是一个代理服务器,重新制作新镜像达到下载gcr.io镜像,虽然麻烦了点,但是使用阿里云能够免费下载被墙的镜像,这点还是可取的,这点还是得感谢阿里云提供这样的服务。

0

评论区