【解決】k8s 1.15.2 鏡像下載方案


k8s 國內鏡像下載方案

眾所周知,國內是不太容易下載k8s.gcr.io站點的鏡像的

一、第一種方案:Azure中國鏡像站

http://mirror.azure.cn/help/gcr-proxy-cache.html

Global Proxy in China (Azure中國鏡像)
dockerhub (docker.io) dockerhub.azk8s.cn
gcr.io gcr.azk8s.cn
k8s.gcr.io gcr.azk8s.cn/google-containers
quay.io quay.azk8s.cn
#這兩條語句是等效的 docker pull k8s.gcr.io/kube-apiserver:v1.15.2 docker pull gcr.azk8s.cn/google-containers/kube-apiserver:v1.15.2 #這兩條也是等效的 docker pull quay.io/xxx/yyy:zzz docker pull quay.azk8s.cn/xxx/yyy:zzz

二、第二種方案:直接 pull 用戶mirrorgooglecontainers同步過的鏡像

就當前來說,用戶 mirrorgooglecontainers 在 docker hub 同步了所有 k8s 最新的鏡像,先從這兒下載,然后修改 tag 即可

https://hub.docker.com/u/mirrorgooglecontainers

#這兩條也是等效的 docker pull mirrorgooglecontainers/kube-scheduler:v1.15.2 docker pull k8s.gcr.io/kube-scheduler:v1.15.2

三、通過腳本進行批量下載

要下載鏡像的名稱,可以通過 kubeadm config images list命令獲取

[root@node-1 yum.repos.d]# kubeadm config images list --kubernetes-version=v1.15.2 k8s.gcr.io/kube-apiserver:v1.15.2 k8s.gcr.io/kube-controller-manager:v1.15.2 k8s.gcr.io/kube-scheduler:v1.15.2 k8s.gcr.io/kube-proxy:v1.15.2 k8s.gcr.io/pause:3.1 k8s.gcr.io/etcd:3.3.10 k8s.gcr.io/coredns:1.3.1

腳本一:通過Azure中國鏡像站進行下載

#!/bin/bash # download k8s 1.15.2 images # get image-list by 'kubeadm config images list --kubernetes-version=v1.15.2' # gcr.azk8s.cn/google-containers == k8s.gcr.io images=( kube-apiserver:v1.15.2 kube-controller-manager:v1.15.2 kube-scheduler:v1.15.2 kube-proxy:v1.15.2 pause:3.1 etcd:3.3.10 coredns:1.3.1 ) for imageName in ${images[@]};do docker pull gcr.azk8s.cn/google-containers/$imageName docker tag gcr.azk8s.cn/google-containers/$imageName k8s.gcr.io/$imageName docker rmi gcr.azk8s.cn/google-containers/$imageName done

腳本二:通過 Azure 中國鏡像站進行下載,執行腳本時需要指定版本

#!/bin/bash # download k8s 1.15.2 images # get image-list by 'kubeadm config images list --kubernetes-version=v1.15.2' # gcr.azk8s.cn/google-containers == k8s.gcr.io #images=( #kube-apiserver:v1.15.2 #kube-controller-manager:v1.15.2 #kube-scheduler:v1.15.2 #kube-proxy:v1.15.2 #pause:3.1 #etcd:3.3.10 #coredns:1.3.1 #) if [ $# -ne 1 ];then echo "please user in: ./`basename $0` KUBERNETES-VERSION" exit 1 fi version=$1 images=`kubeadm config images list --kubernetes-version=${version} |awk -F'/' '{print $2}'` for imageName in ${images[@]};do docker pull gcr.azk8s.cn/google-containers/$imageName docker tag gcr.azk8s.cn/google-containers/$imageName k8s.gcr.io/$imageName docker rmi gcr.azk8s.cn/google-containers/$imageName done

腳本三:通過用戶mirrorgooglecontainers 在 docker hub的鏡像進行下載

#!/bin/bash # download k8s 1.15.2 images # get image-list by 'kubeadm config images list --kubernetes-version=v1.15.2' images=( kube-apiserver:v1.15.2 kube-controller-manager:v1.15.2 kube-scheduler:v1.15.2 kube-proxy:v1.15.2 pause:3.1 etcd:3.3.10 ) for imageName in ${images[@]};do docker pull mirrorgooglecontainers/$imageName docker tag mirrorgooglecontainers/$imageName k8s.gcr.io/$imageName docker rmi mirrorgooglecontainers/$imageName done docker pull coredns/coredns:1.3.1 docker tag coredns/coredns:1.3.1 k8s.gcr.io/coredns:1.3.1 docker rmi coredns/coredns:1.3.1


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM