问题描述:
对于这类问题的解决思路应该都差不多,本文以calico插件安装为例,发现有个Pod的镜像没有pull成功
第一步:查看这个pod的描述信息
kubectl describe pod calico-node-t9rql -n kube-system
从上图发现是docker拉取"docker.io/calico/cni:v3.19.4"失败,那么我们手动拉取一下
Note:我们需要知道这个pod是部署在哪个node上,然后才能在具体的Node上拉取镜像
第二步:查看Pod所在Node
kubectl get pods -n kube-system -o wide
发现是在node35主机上,那么我们去相应主机拉取镜像
第三步:在主机上pull image:
sudo docker pull docker.io/calico/cni:v3.19.4
检查daemon.json 文件
可额外添加网易163的镜像加速
cat /etc/docker/daemon.json{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}
重启服务
systemctl daemon-reload
systemctl restart docker
查看dns解析
dig @114.114.114.114 registry-1.docker.io
安装dig
sudo dnf install bind-utils
执行脚本
[root@node135 ~]# dig @114.114.114.114 registry-1.docker.io; <<>> DiG 9.11.4-P2-RedHat-9.11.4-26.P2.el7_9.15 <<>> @114.114.114.114 registry-1.docker.io
; (1 server found)
;; global options: +cmd
;; Got answer:
;; ->>HEADER<<- opcode: QUERY, status: NOERROR, id: 38270
;; flags: qr rd ra; QUERY: 1, ANSWER: 3, AUTHORITY: 0, ADDITIONAL: 1;; OPT PSEUDOSECTION:
; EDNS: version: 0, flags:; udp: 512
;; QUESTION SECTION:
;registry-1.docker.io. IN A;; ANSWER SECTION:
registry-1.docker.io. 32 IN A 54.198.86.24
registry-1.docker.io. 32 IN A 54.236.113.205
registry-1.docker.io. 32 IN A 54.227.20.253;; Query time: 4 msec
;; SERVER: 114.114.114.114#53(114.114.114.114)
;; WHEN: 二 3月 19 18:33:04 CST 2024
;; MSG SIZE rcvd: 97
添加host解析
[root@node135 ~]# vim /etc/hosts