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 ,在右边的“过滤条件“中输入关键词来搜索。然后再选择正确的镜像。

通常,官方镜像的命名规则为:
/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

















