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