阿里云提供了Kubernetes国内镜像来安装kubelet
、kubectl
和 kubeadm
。
登陆阿里云镜像网站:https://opsx.alibaba.com/mirror
查找关键字“kubernetes”,点击【帮助】按钮。
apt-get update && apt-get install -y apt-transport-https
curl https://mirrors.aliyun.com/kubernetes/apt/doc/apt-key.gpg | apt-key add -
cat </etc/apt/sources.list.d/kubernetes.list
deb https://mirrors.aliyun.com/kubernetes/apt/ kubernetes-xenial main
EOF
apt-get update
apt-get install -y kubelet kubeadm kubectl
cat < /etc/yum.repos.d/kubernetes.repo
[kubernetes]
name=Kubernetes
baseurl=https://mirrors.aliyun.com/kubernetes/yum/repos/kubernetes-el7-x86_64/
enabled=1
gpgcheck=1
repo_gpgcheck=1
gpgkey=https://mirrors.aliyun.com/kubernetes/yum/doc/yum-key.gpg https://mirrors.aliyun.com/kubernetes/yum/doc/rpm-package-key.gpg
EOF
setenforce 0
yum install -y kubelet kubeadm kubectl
systemctl 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来在gcr.io镜像基础上,通过Dockerfile重新构建一个镜像,并修改标签为同名gcr.io镜像。
参考文档:
* 如何借助阿里云免费获取gcr.io上的镜像
以k8s.gcr.io/kube-apiserver-amd64:v1.10.3为例:
FROM gcr.io/google_containers/kube-apiserver-amd64:v1.10.3
打开阿里云容器镜像服务:https://cr.console.aliyun.com , 新建一个镜像仓库。
代码分支:branches:master
Dockerfile目录:/kube-apiserver-amd64/v1.10.3
Dockerfile文件名:Dockerfile
镜像版本:v1.10.3
# 拉取新构建的镜像
docker pull registry.cn-shenzhen.aliyuncs.com/cookcodeblog/kube-apiserver-amd64:v1.10.3
# 打上gcr.io同名标签
docker tag registry.cn-shenzhen.aliyuncs.com/cookcodeblog/kube-apiserver-amd64:v1.10.3 k8s.gcr.io/kube-apiserver-amd64:v1.10.3
# 查看镜像
docker images
# 删除新构建的镜像,只保留gcr.io镜像
docker rmi registry.cn-shenzhen.aliyuncs.com/cookcodeblog/kube-apiserver-amd64:v1.10.3
# 再次查看镜像
docker images
一个拉取kubeadm镜像的脚本请参见:https://github.com/cookcodeblog/k8s-deploy/blob/master/kubeadm/04_pull_kubernetes_images_from_aliyun.sh
在前面的docker-library中需要知道准确的镜像名称和镜像标签。
在科学上网的情况下,打开 https://console.cloud.google.com/gcr/images/google-containers/GLOBAL ,在右边的“过滤条件“中输入关键词来搜索。
然后再选择正确的镜像。
通常,gcr.io官方镜像的命名规则为:
gcr.io/google_containers/IMAGE_NAME:IMAGE_TAG
比如:
gcr.io/google_containers/kube-apiserver-amd64:v1.10.3