问题描述:

刚接触kubernetes的时候,总觉得k8s是一个很庞大的“东西”,安装都是一个很高的门槛。后来出了个kubeadm的配置工具,用于部署k8s集群,但是还会卡在下载镜像这里,如:所需的镜像下载超时导致集群部署失败。

实现思路:

通常的思路是,通过将k8s.gcr.io的kubernetes镜像下载到本地;

本文是利用阿里云的镜像服务同步,将镜像同步至国内。

具体步骤:

1、待下载镜像列表

# kubeadm config images list
k8s.gcr.io/kube-apiserver:v1.19.3
k8s.gcr.io/kube-controller-manager:v1.19.3
k8s.gcr.io/kube-scheduler:v1.19.3
k8s.gcr.io/kube-proxy:v1.19.3
k8s.gcr.io/pause:3.2
k8s.gcr.io/etcd:3.4.13-0
k8s.gcr.io/coredns:1.7.0

2、准备阿里云账号

阿里云镜像服务:https://cr.console.aliyun.com/    用于构建镜像

阿里云code:http://code.aliyun.com   用于存放Dockerfile代码

3、打通阿里云镜像服务与阿里云Code,类似CI/CD构建镜像的工作流

首先在阿里云code上创建一个kube-apiserver的代码仓库

然后在阿里云镜像服务,创建镜像仓库,与代码仓库整合,如下是已经创建好的镜像仓库

需要注意:下面红框标注的地方,利用海外机器构建

调整构建规则:下面是根据分支,创建镜像版本

创建之后的规则如下,会按照我们定义的规则进行镜像构建

4、将Dockerfile推到kube-apiserver仓库的v1.19.3分支

Dockerfile的内容很简单,只是FROM引用了一下,不对原有镜像做任何改变

# Dockerfile
FROM k8s.gcr.io/kube-apiserver:v1.19.3

将代码推送到分支之后,会触发自动构建镜像,也可以手动触发 立即构建

5、测试拉取镜像

docker pull registry.cn-hangzhou.aliyuncs.com/autodevops/kube-apiserver:v1.19.3    # 需要指定版本v1.19.3

 

Logo

K8S/Kubernetes社区为您提供最前沿的新闻资讯和知识内容

更多推荐