解决kubernetes v1.18.3 k8s.gcr.io 拉取镜像失败的问题

 

报错信息

Pulled registry.cn-hangzhou.aliyuncs.com/google_containers/etcd:3.4.13-0

failed to pull image "registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.0": output: Error response from daemon: pull access denied for registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns, repository does not exist or may require 'docker login': denied: requested access to the resource is denied

, error: exit status 1

 

原因

kubernetes v1.21.1 安装时需要从 k8s.gcr.io 拉取镜像,但是该网站被我国屏蔽了,国内没法正常访问导致没法正常进行kubernetes正常安装。

 

这里通过介绍从Docker官方默认镜像平台拉取镜像并重新打tag的方式来绕过对 k8s.gcr.io 的访问。

 

解决方案

手动下载镜像

 

[root@k8s-master02 ~]# docker pull coredns/coredns

 

查看kubeadm需要镜像,并修改名称

[root@k8s-master02 ~]# kubeadm config images list --config new.yaml

查看镜像

[root@k8s-master02 ~]# docker images

打标签修改名称

 

[root@k8s-master02 ~]# docker tag coredns/coredns:latest registry.cn-hangzhou.aliyuncs.com/google_containers/coredns/coredns:v1.8.0

 

删除多余镜像

[root@k8s-master02 ~]# docker rmi coredns/coredns:latest