docker镜像默认的官网上传平台:https://hub.docker.com/,k8s运行时需要从google下载镜像(k8s.gcr.io),但该网被屏蔽了,怎样下载到所需镜像呢?

0. 怎样确认k8s所需基础镜像的版本?

kubeadm config images list --kubernetes-version=v1.12.1

1. 可在知道镜像名情况下到hub.docker.com上搜索相应的docker镜像,pull后修改相应的tag即可。

如:k8s.gcr.io/kube-apiserver:v1.14.1,直接搜索kube-apiserver,匹配相应版本号后pull即可,注意不同平台设备的镜像后缀不同,如64位X86平台:kube-apiserver-amd64。

docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1

下载完成后需要更换成原来的tag:

docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1 k8s.gcr.io/kube-apiserver-amd64:v1.14.1

常用的hub.docker镜像地址:anjia0532,github:https://github.com/anjia0532/gcr.io_mirror

地址转换方法:

gcr.io/namespace/image_name:image_tag
# 等价于
anjia0532/namespace.image_name:image_tag
# 特别的
k8s.gcr.io/{image}/{tag} <==> gcr.io/google-containers/{image}/{tag} <==> anjia0532/google-containers.{image}/{tag}

示例:kubeadm在Ubuntu16上安装k8s:

#kubeadm config images list --kubernetes-version=v1.14.1
k8s.gcr.io/kube-apiserver:v1.14.1
k8s.gcr.io/kube-controller-manager:v1.14.1
k8s.gcr.io/kube-scheduler:v1.14.1
k8s.gcr.io/kube-proxy:v1.14.1
k8s.gcr.io/pause:3.1
k8s.gcr.io/etcd:3.3.
k8s.gcr.io/coredns:1.3.

下载镜像:

docker pull mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1
docker pull mirrorgooglecontainers/kube-controller-manager-amd64:v1.14.1
docker pull mirrorgooglecontainers/kube-scheduler-amd64:v1.14.1
docker pull mirrorgooglecontainers/kube-proxy-amd64:v1.14.1
docker pull mirrorgooglecontainers/pause-amd64:3.1
docker pull mirrorgooglecontainers/etcd-amd64:3.3.
docker pull kontenapharos/coredns-amd64:1.3.

打标签:

docker tag mirrorgooglecontainers/kube-apiserver-amd64:v1.14.1  k8s.gcr.io/kube-apiserver:v1.14.1
docker tag mirrorgooglecontainers/kube-controller-manager-amd64:v1.14.1 k8s.gcr.io/kube-controller-manager:v1.14.1
docker tag mirrorgooglecontainers/kube-scheduler-amd64:v1.14.1 k8s.gcr.io/kube-scheduler:v1.14.1
docker tag mirrorgooglecontainers/kube-proxy-amd64:v1.14.1 k8s.gcr.io/kube-proxy:v1.14.1
docker tag mirrorgooglecontainers/pause-amd64:3.1 k8s.gcr.io/pause:3.1
docker tag mirrorgooglecontainers/etcd-amd64:3.3. k8s.gcr.io/etcd:3.3.
docker tag kontenapharos/coredns-amd64:1.3. k8s.gcr.io/coredns:1.3.

2. 从gcr镜像服务器下载。许多公司提供了gcr的镜像服务器,可直接从服务器下载镜像。

如微软azure上的gcr镜像服务器:http://mirror.azure.cn/help/gcr-proxy-cache.html

GCR Proxy Cache服务器相当于一台GCR镜像服务器,国内用户可以经由该服务器从gcr.io下载镜像。

使用GCR Proxy Cache从gcr.io下载镜像

docker pull gcr.azk8s.cn/google_containers/<imagename>:<version>

例子

docker pull gcr.azk8s.cn/google_containers/pause-amd64:3.0
docker pull gcr.azk8s.cn/google_containers/kubedns-amd64:1.7

又如阿里云:registry.aliyuncs.com

docker pull registry.aliyuncs.com/google_containers/kube-proxy:v1.13.1
docker pull registry.aliyuncs.com/google_containers/kube-apiserver:v1.13.1

参考:

1.  google gcr.io、k8s.gcr.io 国内镜像

2. https://hub.docker.com/u/anjia0532

04-27 01:44