K8s的Pod出现Init:ImagePullBackOff问题的解决,(以calico网络插件为例)

吃素的哈士奇 2024-07-05 16:37:02 阅读 53

问题描述:

对于这类问题的解决思路应该都差不多,本文以calico插件安装为例,发现有个Pod的镜像没有pull成功

在这里插入图片描述

第一步:查看这个pod的描述信息

<code>kubectl describe pod calico-node-t9rql -n kube-system

在这里插入图片描述

从上图发现是docker拉取"docker.io/calico/cni:v3.19.4"失败,那么我们手动拉取一下

Note:我们需要知道这个pod是部署在哪个node上,然后才能在具体的Node上拉取镜像

第二步:查看Pod所在Node

<code>kubectl get pods -n kube-system -o wide

在这里插入图片描述

发现是在node35主机上,那么我们去相应主机拉取镜像

第三步:在主机上pull image:

<code>sudo docker pull docker.io/calico/cni:v3.19.4

在这里插入图片描述

检查daemon.json 文件

可额外添加网易163的镜像加速

<code>cat /etc/docker/daemon.json

{"registry-mirrors": ["https://registry.docker-cn.com","http://hub-mirror.c.163.com"]}

在这里插入图片描述

重启服务

<code>systemctl daemon-reload

systemctl restart docker

查看dns解析

dig @114.114.114.114 registry-1.docker.io

在这里插入图片描述

安装dig

<code>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

在这里插入图片描述



声明

本文内容仅代表作者观点,或转载于其他网站,本站不以此文作为商业用途
如有涉及侵权,请联系本站进行删除
转载本站原创文章,请注明来源及作者。