解决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