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
相关推荐
HeXDev1 小时前
【Docker】一键将运行中的容器打包成镜像并导出
运维·docker·容器
有谁看见我的剑了?2 小时前
k8s-临时容器学习
学习·容器·kubernetes
The_Second_Coming2 小时前
容器应用学习笔记:containerd 篇
运维·笔记·学习·容器·containerd
一个帅气昵称啊2 小时前
Docker命令大全:从基础到高级实战指南
docker·容器·eureka·架构·.net
zhysunny2 小时前
51.不可变基础设施:云原生时代的「乐高城堡」建造法
java·云原生
*伤^情*2 小时前
docker教程
运维·docker·容器
程序消消乐5 小时前
ZooKeeper Multi-op+乐观锁实战优化:提升分布式Worker节点状态一致性
分布式·zookeeper·云原生
rockmelodies6 小时前
【容器使用】如何使用 docker 和 tar 命令来操作容器镜像
运维·docker·容器
DO_Community7 小时前
DigitalOcean Kubernetes 现已支持 Gateway API 托管服务
容器·kubernetes·gateway
什么都想学的阿超9 小时前
【大语言模型 57】容器化训练环境:Docker + Kubernetes + Slurm
docker·语言模型·kubernetes