[kubernetes] 解決k8s.gcr.io Image 導入導出 等問題

k8s.gcr.io Pull失敗

安裝新版本的Kubernetes過程中,需要從k8s.grc.io倉庫中拉取所需鏡像文件,但由於GFW導致無法正常拉取

本文將介紹如何繞過此問題,來完成業務的部署。

    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-apiserver:v1.14.1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-controller-manager:v1.14.1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-scheduler:v1.14.1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/kube-proxy:v1.14.1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/pause:3.1
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/etcd:3.2.24
    [ERROR ImagePull]: failed to pull image k8s.gcr.io/coredns:1.2.6

解決方案
docker.io倉庫對google的容器做了鏡像,可以通過下列命令下拉取相關鏡像:

docker pull mirrorgooglecontainers/kube-apiserver:v1.14.1
docker pull mirrorgooglecontainers/kube-controller-manager:v1.14.1
docker pull mirrorgooglecontainers/kube-scheduler:v1.14.1
docker pull mirrorgooglecontainers/kube-proxy:v1.14.1
docker pull mirrorgooglecontainers/pause:3.1
docker pull mirrorgooglecontainers/etcd:3.2.24
docker pull coredns/coredns:1.2.6

通過docker tag命令來修改鏡像的標籤:

 

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

...

docker tag docker.io/coredns/coredns:1.2.6 k8s.gcr.io/coredns:1.2.6

 

docker images 導入導出

導出鏡像
如果要存出鏡像到本地文件,可以使用docker save命令。例如,存出本地的ubuntu:14.04鏡像爲文件ubuntu_14.04.tar:
$ sudo docker save -o /home/user/images/ubuntu_14.04.tar ubuntu:14.04

導入鏡像
可以使用docker load從存出的本地文件中再導入到本地鏡像庫,例如從文件ubuntu_14.04.tar導入鏡像到本地鏡像列表,如下所示:
$ sudo docker load --input ubuntu_14.04.tar

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章