前言

在搭建 Kubernetes 集群时,国内用户遇到的第一个问题就是无法访问 gcr.io 镜像,直接导致无法初始化集群也就没有办法成功搭建 Kubernetes 集群。
通常要解决此问题有几种方法:

  • 通过梯子直接访问 gcr.io 镜像。由于目前对梯子的打击力度很大,使用这种方式很难。
  • 通过公开的镜像服务器寻找别人搜集的镜像进行下载。缺点是匹配到的镜像版本很难找到。
  • 通过国内的 gcr.io 镜像的代理进行访问。笔者尝试使用这种方法,但是由于代理失效也无法访问到镜像
  • 通过将 gcr.io 的镜像搬运到 Docker hub 上进行访问。

由于前三种方法都存在一些问题。本文主要介绍第四种方法,其实现方式是通过 Docker Hub 的自动构建功能,结合 Github 仓库使用 Dockerfile 文件构建镜像。镜像完成后,可以进行 pulltag 修改从而完成 Kubernetes 集群的搭建。

Kubernetes 组件

下面我们会以 kube-apiserver1.18.3 版本为例详细介绍。同时列出了搭建 v1.18.3 的 kubernetes 集群所需要的组件以及事先创建好的 Docker Hub 访问地址。

k8s.gcr.io/kube-apiserver:v1.18.3

docker pull jason88/kube-apiserver:1.18.3

k8s.gcr.io/kube-controller-manager:v1.18.3

docker pull jason88/kube-controller-manager:v1.18.3

k8s.gcr.io/kube-scheduler:v1.18.3

docker pull jason88/kube-scheduler:v1.18.3

k8s.gcr.io/kube-proxy:v1.18.3

docker pull jason88/kube-proxy:v1.18.3

k8s.gcr.io/pause:3.2

docker pull jason88/pause:3.2

k8s.gcr.io/etcd:3.4.3-0

docker pull jason88/etcd:3.4.3-0

k8s.gcr.io/coredns:1.6.7

docker pull jason88/coredns:1.6.7

配置

前提条件:

需要在Docker Hub (https://hub.docker.com/) 和Github(https://github.com/) 上注册帐号并登陆。

Github 上创建仓库。

  • 1.1 在 + 号上点击 New repostory

  • 1.2 在新建页面的 Repository name 列输入仓库名称,点击"create reposifoty"完成创建。示例中的名称为 k8s-images

创建新文件用来存放 Dockerfile 命令。

  • 1.3 仓库页面,点击 "creating a new file"

  • 1.4 在页面编辑页面,输入文件名称 kube-apiserver:v1.18.3 ,在文件中输入内容为 FROM gcr.io/google-containers/kube-apiserver:v1.18.3 。点击页面下方的"Commit new file"

  • 1.5 返回仓库查看创建的文件。

  • 1.6 按照以上步骤创建剩下的组件。

Docker Hub 上进行 Github 授权。

  • 2.1 打开 帐号的 "Account Settings" ,点击 "Linked Accounts"

  • 2.2 在Github 后面点击 "Connect" 进行相关账户的授权

Docker Hub 上创建仓库。

  • 2.3 点击页面上方的 "Repositories" ,进入到仓库管理页面。

  • 2.4 在点击 "Create Repository" ,在name 栏中输入仓库名称 "kube-apiserver"(建议使用组件名称作为仓库名称)。

  • 2.5 在 Build Settings 选项点击 github 的图标,选择GitHub帐号和仓库。这里选择 k8s-images 仓库,即上面步骤中创建的仓库。

  • 2.6 点击 Build Rules,会出现构建规则选项卡。在Docker Tag 选项输入版本号 v1.18.3 ,在Dockerfile location 选项卡中输入Github 中创建的文件名称 kube-apiserver:v1.18.3,然后点击 Create & Build
    注:Dockerfile location 选项必须要与Github 中文件名称对应上。

  • 2.7 在此仓库的 Builds 页面查看创建进度。

Recent Builds 中可以查看构建详情,状态变成 success 后就可以进行下载。

  • 2.8 在 tags 中查看镜像的标签信息

结束语

  • 镜像制作完成后使用 pull 命令将镜像下载到本地
  • 使用tag 命令为镜像重新打标签,标签要和gcr.io 镜像标签一致。

详细介绍借助Docker Hub访问gcr.io镜像相关推荐

  1. 借助Docker hub自己手动制作镜像(以Nginx镜像为例)

    借助Docker hub自己手动制作镜像(以Nginx镜像为例) 前言 一.Docker hub是什么? 二.镜像制作步骤 1.进入Docker hub官网,获取源文件 2.制作镜像 3.验证镜像 总 ...

  2. 无法访问gcr.io的几种解决办法

    系列目录 由于一些原因,在国内无法访问gcr.io上的镜像,在安装kubernetes时,很多官方镜像又是都存在gcr.io上,在国内的一些教程中大都使用阿里云的镜像,但是由于阿里云镜像地址更换等原因 ...

  3. 无法访问gcr.io的解决办法

    1. 使用国内作者制作的gcr.io镜像安装工具 GitHub - zhangguanzhang/gcr.io: sync the docker images of the gcr.io and qu ...

  4. 超级详细:公网环境下登录 Docker 仓库: Docker Hub 或 国内阿里镜像仓库!超级解惑!(推送镜像到docker hub 或 国内阿里云镜像仓库)

    文章目录 前言: 1.登录 Docker Hub : ①.注册 或 登录 Docker Hub: ②.创建储存库: ③.开始上传镜像: ④.下载镜像: 2.使用 国内阿里云 镜像仓库: ①.开通 容器 ...

  5. 国内拉取 gcr.io 镜像(Google Kubernetes 镜像)

    常用镜像仓库 DockerHub镜像仓库 Google 镜像仓库   https://gcr.io/google-containers/   https://gcr.io/kubernetes-hel ...

  6. gcr.io 国内源 —— 基于 Travis CI + GitHub + DockerHub + Google Cloud 实现自动定时同步 gcr.io 镜像到 DockerHub

    一.背景介绍 由于国内网络原因,gcr.io 仓库里的镜像是无法直接拉取到的,这给开发工作造成了极大的不便 本文介绍一种方法能够实现自动化地定期地将 gcr.io 仓库中的镜像同步到个人 Docker ...

  7. 利用阿里云容器镜像服务下载gcr.io镜像

    背景 由于你懂的原因,国内是没有办法下载gcr.io镜像的,利用docker hub构建GitHub现在又要钱,所以这里利用阿里云容器镜像服务下载gcr.io镜像. 步骤 这里以gcr.io/tekt ...

  8. 拉取 gcr.io 镜像,如 Kubernetes,istio 等

    dockerhub根镜像代理 官方命令:docker pull nginx:latest 代理命令:docker pull dockerproxy.com/library/nginx:latest d ...

  9. 无法访问 gcr.io 的解决方案

    通过describe 命令查看pod 情况 kubectl describe pod tiller-deploy-675cbc8478-lsqgm -n kube-system 第一步 下载阿里云的i ...

最新文章

  1. 一个层动态放大的例子的一些知识点
  2. 在物理内存中观察CLR托管内存及GC行为
  3. python代码安全性问题_这个python代码对注入安全吗?
  4. 案例:演示exception对象的使用
  5. [转载]完全理解关键字this
  6. poj 1789 Truck History prim最小生成树 基础!!!!
  7. jstack简单使用,定位死循环、线程阻塞、死锁等问题
  8. java ssh框架 运行_SSH框架的简单示例(执行流程)
  9. 加权贝叶斯matlab代码,使用贝叶斯优化进行深度学习
  10. [Vuetify] 解决mainterialicon加载慢
  11. 生产者消费者模型的作用是什么
  12. 大数据与算法系列之算法性能分析
  13. 报错:致命错误:Python.h:没有那个文件或目录
  14. 一个啃b站俄语教程的坚强日记
  15. 各大高校惊人江湖名号
  16. 花开云(织音)同款超级好看404页面源码
  17. 计算机考研大纲代码,2017考研大纲:计算机考研大纲文字版之计算机组成原理...
  18. 5G NR Rel16 两步接入/2-step RACH
  19. 交通规划辅助决策系统构建及佛山实践
  20. 【开学季征文】即将入学,谈谈我对计算机专业的认识

热门文章

  1. uIP编译时配置选项
  2. 7-13 寻找大富翁 (25 分)
  3. 优雅的剥洋葱:浅析 Java Optional 类
  4. 唐巧访谈: iOS大V的技术进阶之路
  5. android的app图标大全,安卓app图标
  6. 你不可不知的《哈利波特》秘密(二)
  7. R-CNN论文精读(论文翻译)
  8. Charles安装证书
  9. 双十一快件近40亿再创历史新高;疫情挑战下中国受访者对科学的信任度位居全球第一 | 美通企业日报...
  10. Oracle数据库:oracle内连接inner join on,多表查询各种自链接、内连接、外连接的练习示例