赞
踩
在搭建 Kubernetes
集群时,国内用户遇到的第一个问题就是无法访问 gcr.io 镜像,直接导致无法初始化集群也就没有办法成功搭建 Kubernetes
集群。
通常要解决此问题有几种方法:
Docker hub
上进行访问。由于前三种方法都存在一些问题。本文主要介绍第四种方法,其实现方式是通过 Docker Hub 的自动构建功能,结合 Github 仓库使用 Dockerfile
文件构建镜像。镜像完成后,可以进行 pull
和 tag
修改从而完成 Kubernetes
集群的搭建。
下面我们会以 kube-apiserver
的 1.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/) 上注册帐号并登陆。
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 按照以上步骤创建剩下的组件。
2.1 打开 帐号的 "Account Settings"
,点击 "Linked Accounts"
。
2.2 在Github 后面点击 "Connect"
进行相关账户的授权
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 中文件名称对应上。
Builds
页面查看创建进度。在 Recent Builds
中可以查看构建详情,状态变成 success
后就可以进行下载。
tags
中查看镜像的标签信息Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。