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

问题描述:

对于这类问题的解决思路应该都差不多,本文以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

执行脚本

shell 复制代码
[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
相关推荐
程序员阿超的博客1 小时前
云原生核心技术 (9/12): K8s 实战:如何管理应用的配置 (ConfigMap/Secret) 与数据 (Volume)?
云原生·容器·kubernetes
janthinasnail3 小时前
使用Docker安装FFmpeg
docker·容器
GeminiJM4 小时前
Docker监控服务部署
运维·docker·容器
morliz子轩4 小时前
在Docker上部署datalust/Seq日志服务系统
运维·docker·容器
exe4524 小时前
在docker中部署dify
运维·docker·容器
hackchen12 小时前
NexusTerminal一款视频移动端的webSSH
docker·云原生·eureka·web-ssh
ahhhhaaaa-17 小时前
【k8s】阿里云ACK服务中GPU实例部署问题
阿里云·云原生·容器·kubernetes·云计算
熊出没18 小时前
阿里云云原生数据库PolarDB和普通云数据库的区别?
数据库·阿里云·云原生
谷新龙00118 小时前
docker compose部署kafka
docker·容器·kafka
David爱编程20 小时前
Docker Daemon 调优全解,打造高性能守护进程配置!
后端·docker·容器