我们使用k8s搭建集群的时,总有一道坎挡在前面:谷歌容器镜像 (gcr.io)。作为google亲儿子的k8s,没有理由不使用google镜像库,集群配置文件中yaml默认容器都是需要从gcr.io中拉取。但是呢?在天朝,我们必须硬面刚google,所幸我们还能使用docker hub。 为了能够顺利搭建k8s集群,我们必须解决眼前的问题,我提供两种思路,仅供参考:
1. 代理。代理的问题不多提了,代理完成之后直接安装。网上很多blog都有写,我的也有。但是需要注意一个问题:千万不要代理了自己的集群网段,pod网段。
2. 将gcr.io中镜像转换为docker hub中的镜像,可以下载到本地之后打tag变成yaml要求中的容器;或者直接将yaml中的镜像更改成docker hub镜像。
- 在docker hub上搜索相关的镜像,肯定有人制作转换的,注意确保tag一致。
- 自动化构建docker images, 参考使用github自动化构建docker
- 直接下载别人制作好的镜像代理。感谢安家,安家博客 ,安家github 作者主要是通过用github + travis ci + docker hub成功将gcr.io的全部镜像同步到docker hub了。使用方法也参考他的blog。
虽然安家在官方博客已经说明了使用方法,但是他后来稍微进行了修改,只在github上提到,而他没有博客上补充说明,请大家注意。
具体变化如下:
k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag}
举例说明:
docker pull k8s.gcr.io/federation-controller-manager-arm64:v1.3.1-beta.1
eq(等同于)
docker pull anjia0532/google-containers.federation-controller-manager-arm64:v1.3.1-beta.1
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。