[kubernetes] 解决k8s.gcr.io Image 导入导出 等问题
程序员文章站
2022-03-07 13:29:00
...
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