墙内获取Kubernetes镜像

2018-07-27
DevOps

背景介绍

最近在搭建kubernetes的EFK,在创建fluentd-es-ds的时候遇到了迈不过去的坎,墙内找不到靠谱的fluentd-elasticsearch镜像,到DockerHub捡垃圾的方式也不适合生产环境,想起了群里有大佬说过hub找版本github构建,在网上搜索了下gitHub获取镜像,果然看到很多利用github获取k8s的文章。下面简单记录下过程。

基本步骤

Github操作

1、登陆github,创建代码仓库,比如我的kubeimage

2、编写Dockerfile

1
2
FROM gcr.io/google_containers/kube-apiserver-amd64:v1.11.1
MAINTAINER leitty

3、提交Dockerfile

由于本人打算在一个项目里面拉取多个镜像,所以新建了一层文件夹。具体路径是

1
kubeimage/kube-apiserver-amd64/v1.11.1/Dockerfile

image

DockerHub 操作

登陆DockerHub,创建Automated Build项目

没有DockerHub账号的需要注册一个,未关联github账号的,创建Automated Build项目时会要求绑定 github账号,按提示操作即可。

image

image

选择仓库:

image

选择仓库创建

image

默认是在仓库的根目录检查Dockerfile文件,但是我们这里是要用一个仓库构建多个镜像,所有创建了子目录,把Dockerfile放在子目录里面,指定Dockerfile位置。点击保存,再点击触发:

image

触发后可以去构建详细那里查看构建结果,如果失败了点击错误可以看到日志。

image

把镜像拉取到本地

1
docker pull leitty/kubeimage/apiserver

修改一下tag

1
docker tag leitty/kubeimage/apiserver gcr.io/google_containers/kube-apiserver-amd64:v1.11.1

gcr.io/google_containers/kube-apiserver-amd64:v1.11.1镜像就出炉了,可以愉快的部署了

附一个墙外查询镜像的地址:

https://console.cloud.google.com/gcr/images/google-containers/GLOBAL

参考:

https://www.jianshu.com/p/e2de1629980d

https://ieevee.com/tech/2017/04/07/k8s-mirror.html