Kubernets国内镜像

阿里云提供了Kubernetes国内镜像来安装kubelet、kubectl 和 kubeadm。

登陆阿里云镜像网站:

https://opsx.alibaba.com/mirror

查找关键字“kubernetes”,点击【帮助】按钮。

 

Debian/Ubuntu

  •  

apt-get update && apt-get install -y apt-transport-httpscurl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add - cat <<EOF >/etc/apt/sources.list.d/kubernetes.listdeb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial mainEOF apt-get updateapt-get install -y kubelet kubeadm kubectl

 

 

CentOS/RHEL/Fedora

  •  

cat <<EOF > /etc/yum.repos.d/kubernetes.repo[kubernetes]name=Kubernetesbaseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/enabled=1gpgcheck=1repo_gpgcheck=1gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpgEOFsetenforce 0yum install -y kubelet kubeadm kubectlsystemctl enable kubelet && systemctl start kubelet

 

 

下载安装包

比如下载kubectl v1.10.3:

  •  

curl -LO https://storage.googleapis.com/kubernetes-release/release/v1.10.3/bin/linux/amd64/kubectl

参考文档: 

https://kubernetes.io/docs/tasks/tools/install-kubectl/#install-kubectl-binary-via-curl

 

拉取镜像

通过阿里云镜像+GitHub来在镜像基础上,通过Dockerfile重新构建一个镜像,并修改标签为同名镜像。

 

 

 

以k8s./kube-apiserver-amd64:v1.10.3为例:

 

Fork docker-library in GitHub

1、参照上面的参考文章,fork了docker-library的repository。(如果想直接使用v1.10.3版本也可以直接fork我修改后的 docker-library

https:///cookcodeblog/docker-library)

2、在kube-apiserver-amd64目录下创建一个v1.10.3子目录

3、在该子目录下复制一个Dockerfile,修改基础镜像版本为v1.10.3,例子:

  •  

FROM /google_containers/kube-apiserver-amd64:v1.10.3

 

 

在阿里云上新建镜像仓库

打开阿里云容器镜像服务:https://cr.console.aliyun.com新建一个镜像仓库。

 

1、选择离自己比较近的区域

2、按提示填写信息

3、选择”代码变更时自动构建镜像“和”海外机器构建“,并填写构建信息,比如:

代码分支:branches:master

Dockerfile目录:/kube-apiserver-amd64/v1.10.3

Dockerfile文件名:Dockerfile

镜像版本:v1.10.3

 

构建、拉取镜像和打标签

1、点击【管理】,选择【构建】,点击【立即构建】

2、构建成功后,在【基础信息】中查看用法

3、拉取新构建成功的镜像,比如:

  •  

# 拉取新构建的镜像docker pull /cookcodeblog/kube-apiserver-amd64:v1.10.3# 打上同名标签docker tag /cookcodeblog/kube-apiserver-amd64:v1.10.3 k8s./kube-apiserver-amd64:v1.10.3# 查看镜像docker images# 删除新构建的镜像,只保留镜像docker rmi /cookcodeblog/kube-apiserver-amd64:v1.10.3# 再次查看镜像docker images

一个拉取kubeadm镜像的脚本请参见:https:///cookcodeblog/k8s-deploy/blob/master/kubeadm/04_pull_kubernetes_images_from_aliyun.sh

 

查看官方镜像

在前面的docker-library中需要知道准确的镜像名称和镜像标签。

在科学上网的情况下,打开 https:///gcr/images/google-containers/GLOBAL ,在右边的“过滤条件“中输入关键词来搜索。然后再选择正确的镜像。

教你轻松获取k8s镜像和安装包_k8s 1.13

 

通常,官方镜像的命名规则为: 

/google_containers/IMAGE_NAME:IMAGE_TAG

 

比如: 

/google_containers/kube-apiserver-amd64:v1.10.3

 

还好,k8s 1.13已经不需要了 ,直接用--image-repository指定仓库地址:

  •  

kubeadm init --image-repository /google_containers --kubernetes-version v1.13.0 --pod-network-cidr=10.244.0.0/16

教你轻松获取k8s镜像和安装包_k8s 1.13_02