k8s镜像:安装kubernetes,访问不了gcr.io怎么办?

伊布 · · 3892 次点击 · · 开始浏览    
这是一个创建于 的文章,其中的信息可能已经有所发展或是发生改变。

之前在安装k8s的时候,我们提到了依赖的gcr.io/google_containers里的镜像因为GFW的原因取不到,但是暂时没有gcr.io的国内镜像,怎么办呢?

方法1:如果有aws上的EC2虚拟机,远程到虚拟机上docker pull gcr.io/google_containers/xxx,然后tag为docker hub(也就是删掉gcr.io/google_containers/前缀),最后再docker push 到docker hub上自己的namespace下。

方法2:如果没有aws虚拟机,可以去docker hub上去捡垃圾淘宝,找到别人push上去的镜像,取下来打tag。

方法2更可行,但受制于人毕竟是不爽的,比如kubernetes 1.6.0发布了,还得去等着。有没有更好的办法呢?我从同事fenghan那里学到了一个办法。

docker hub提供了一个很棒的功能,Automated Build。

简单来说就是,你可以把你想要build的Docker Image的Dockerfile文件放到github上,然后github上开启对docker hub的授权(读权限就可以了),之后就可以在docker hub上根据这个Dockerfile来自动编译了。换句话说就是,Docker hub为我们提供了一个build的环境,你不需要本地build再push了。

这样,我可以在Github上编写一个简单的只是FROM gcr.io/google_containers/xxx的Dockerfile,然后让docker hub来build Github上的Dockerfile,他们都在墙外,build自然没有问题;然后我再通过docker hub加速器取下来,这样就可以保证是官方发布的了,速度质量都可靠。

详细说明,请参见官方文档。下面简单记录下过程。

github开启对docker hub的读授权

略。

Dockerfile上github

github上新建一个工程,比如我的Dockerfile4k8s,clone到本地。

然后在工程中新增: ./etcd-amd64/Dockerfile,Dockerfile内容为:

FROM gcr.io/google_containers/etcd-amd64:2.2.5
MAINTAINER silenceshell <silenceshell@datastart.cn>

git add/commit/push到github。

想知道google_containers里有哪些镜像,可以查询这里

Docker Hub上创建Automated build

到docker hub上,Create -> Create Automated Build,新增一个Github类型的自动编译,选择Dockerfile4k8s项目;修改Repository的Name为etcd-amd64,简单填下描述,这样就创建了一个Automated Build。

进到Repository etcd-amd64,Build Setting中填写Dockerfile Location为etcd-amd64,修改Docker Tag Name为2.2.5,Save Change and Trigger;然后点Build Details,可以看到build的过程,状态切为Success就可以了。

取到本地并push到private Registry

我们在本地用Harbor搭了一个Private Registry,所以可以给image打tag并push到自己的Registry。顺便推荐一下Harbor,很不错,vmware出品,必属精品。

docker pull silenceshell/etcd-amd64:2.2.5
docker tag silenceshell/etcd-amd64:2.2.5 {your domain}/{your namespace}/etcd-amd64:2.2.5
docker push {your domain}/{your namespace}/etcd-amd64:2.2.5

最后在k8s用的时候,别忘了tag为gcr.io/google_containers/etcd-amd64:2.2.5。

btw,如果你用的是kubeadm 1.6.0正式版本(not alpha),那么恭喜,新版本支持自定义registry了,可以不用再自己去tag了。



有疑问加站长微信联系(非本文作者)

本文来自:ieevee.com

感谢作者:伊布

查看原文:k8s镜像:安装kubernetes,访问不了gcr.io怎么办?

入群交流(和以上内容无关):加入Go大咖交流群,或添加微信:liuxiaoyan-s 备注:入群;或加QQ群:692541889

3892 次点击  
加入收藏 微博
暂无回复
添加一条新回复 (您需要 登录 后才能回复 没有账号 ?)
  • 请尽量让自己的回复能够对别人有帮助
  • 支持 Markdown 格式, **粗体**、~~删除线~~、`单行代码`
  • 支持 @ 本站用户;支持表情(输入 : 提示),见 Emoji cheat sheet
  • 图片支持拖拽、截图粘贴等方式上传
X
登录和大家一起探讨吧