k8s阵地攻克(爬坑之下载镜像)

  最近开始学习K8S的部署与安装,决定把K8S攻克下来。在安装部署K8S的过程中,遇到了第一个难点(由于某种特殊力量)——下载镜像。

  网上看了很多方法,大概分为三种:

  • 代理
  • 去别人下载好的镜像仓库拉取
  • 通过阿里云容器镜像服务去构建

  前两种方法尝试都以失败告终,最后决定使用第三种去拉取镜像。网上也有类似的解决方案,但是过程都有点含糊不清,写下这篇文章,仅供大家参考,如果有疑问,欢迎在评论区留言。

1、整体架构

image.png

2、GitHub上创建Dockerfile文件

image.png

  将鼠标悬浮在登陆账号上,然后点击“Your repositories"。

image.png

  点击"New"新创建建一个仓库。


image.png

  填写仓库的名字和描述,选择Public,然后点击下方的”Create Repository“创建仓库。再次点击右上方的“Your Repositories”,就可以看到创建的仓库了。

image.png

  点击刚创建的仓库,进入仓库。


image.png

  点击"Create new file",为每一个镜像创建一个目录,如上图所示。


image.png

  只要在文件后面加上一个"/"就可以指定创建在某个目录下,编写一个Dockerfile文件,通过阿里云容器镜像服务拉取这个文件,然后在海外通过这个Dockerfile构建出镜像,再回传到阿里云。各个镜像的Dockerfile文件如下:

FROM gcr.io/google_containers/kube-proxy-amd64:v1.11.1
FROM gcr.io/google_containers/kube-scheduler-amd64:v1.11.1
FROM gcr.io/google_containers/kube-apiserver-amd64:v1.11.1
FROM gcr.io/google_containers/kube-controller-manager-amd64:v1.11.1
FROM gcr.io/google_containers/coredns:1.1.3
FROM gcr.io/google_containers/etcd-amd64:3.2.18
FROM gcr.io/google_containers/pause:3.1

3、在阿里云容器镜像服务上构建镜像

image.png

  首先进入阿里云容器镜像服务创建一个命名空间

image.png
image.png

  然后创建一个仓库,这里选择为每一个镜像都创建了一个仓库,命名空间可以选择同一个。然后点击“下一步”。


image.png

  绑定git账号,选择git中的仓库。“海外机器构建”必须勾选上,因为镜像在国内无法下载。

image.png

  选择管理按钮,进入仓库。


image.png

  点击添加规则


image.png

  选择在Git上创建的Dockerfile,目录路径一定要填对,而且在同一个仓库中,版本不能一样。这里的版本和镜像的版本不是必须要一样,你可以把所有的镜像都在一个仓库内构建,但这里的版本每个镜像需要填写不同的,点击“确认”。
image.png

  点击“立即构建”,在下方会生成一个任务队列,还可以点击“日志”查看构建的过程或者中间出现的报错。

image.png

  构建成功,就可以在“镜像版本”这里看到构建好的镜像。现在只需要将镜像pull到本地,然后通过docker tag改一下标签就可以使用了。


在"基本信息“中,有在本地拉取镜像的方法,需要先登录阿里云镜像仓库,然后再拉取。关于拉取不再做详细的描述了,下面有一个拉取镜像的脚本,大家可以参考一下。

#cat images_name
kube-proxy-amd64:v1.11.1
kube-scheduler-amd64:v1.11.1
kube-apiserver-amd64:v1.11.1
kube-controller-manager-amd64:v1.11.1
coredns:1.1.3
etcd-amd64:3.2.18
pause:3.1
#!/bin/bash 

for i in `cat images_name`
do
  docker pull registry.cn-shanghai.aliyuncs.com/xxxxxx/$i
  docker tag registry.cn-shanghai.aliyuncs.com/xxxxxx/$i k8s.gcr.io/$i
done

4、总结

  这就是本人在部署和安装k8s集群中遇到国内无法拉取镜像时使用的方法。如果有疑问,欢迎在评论区留言,谢谢!!!

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 0. 前言 docker是什么?docker是用GO语言开发的应用容器引擎,基于容器化,沙箱机制的应用部署技术。可...
    sessionboy阅读 3,876评论 2 49
  • 喜亭阅读 214评论 8 8
  • 阴雨连绵不休,心情低落雨愁。 偶尔雨停散步,寻找田野花絮。 草籽花开田野,牧童放牛逗趣。 凤筝漫天飞舞,引来游人雅...
    冲天农锄草阅读 1,059评论 10 24
  • 是每个人都有烦恼呢?还是说只有自己才会庸人自扰,看着他们每天快快乐乐的,再看看自己独自一人伤神,人生真的是这么无趣吗?
    C小茜阅读 208评论 0 0
  • 艳艳的石榴花 落了 又看见红红的日头 笑了 默默走过 听见桥下流淌着 岁月 真的像一首歌 裸露的灵魂 再一次开始哆...
    君子包阅读 291评论 0 7