美文网首页
k8s阵地攻克(爬坑之下载镜像)

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

作者: Bruce_King | 来源:发表于2018-08-21 22:28 被阅读1337次

  最近开始学习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集群中遇到国内无法拉取镜像时使用的方法。如果有疑问,欢迎在评论区留言,谢谢!!!

相关文章

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

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

  • win10 安装docker

    此项目在安装k8s的时候因为google的k8s镜像下载不下来 能访问阿里的镜像下载 https://github...

  • window docker k8s 安装

    根据 docker k8s 界面,下载对应 k8s 的镜像 https://github.com/AliyunCo...

  • K8S-volume存储

    准备镜像 k8s集群每个node节点需要下载镜像:docker pull mariadb:10.5.2 安装mar...

  • k8s中将mysql运行在容器内

    将mysql镜像运行在k8s集群内,记录下踩坑过程。 mysql镜像 mysql镜像地址这里我使用的是mysql5...

  • 部署 k8s 1.12.1 的坑和解决方法

    k8s 1.12.1 的坑和解决 pull 镜像: gcr.io 被墙,需要 pull 自己的镜像,然后改 tag...

  • k8s各种资源介绍

    k8s各种资源介绍 k8s最小的资源单位pod 使用私有仓库 为了方便节点下载镜像,搭建私有仓库docker ru...

  • webrtc编译填坑记录

    参考别人的文档 WebRTC填坑wiki 一、下载源码 1.国内镜像 由于一些特殊原因,最好采用国内镜像下载。参考...

  • harbor使用

    登录 查询镜像 获取镜像 上传镜像 k8s 使用私有harbor

  • COMSOL5.3在Linux下的安装

    下载 在脚本之家的网站下载comsol5.3的iso镜像安装文件。但是,请注意有坑按下图避开这个坑。 下载后的文件...

网友评论

      本文标题:k8s阵地攻克(爬坑之下载镜像)

      本文链接:https://www.haomeiwen.com/subject/gogdiftx.html