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
相关推荐
孤岛悬城29 分钟前
53 k8s基础与安装
云原生·容器·kubernetes
Coder码匠1 小时前
Docker Compose 部署 Spring Boot 应用完全指南
spring boot·docker·容器
虫小宝1 小时前
导购app佣金模式微服务拆分:领域驱动设计在返利系统中的实践
微服务·云原生·架构
可爱又迷人的反派角色“yang”1 小时前
k8s(四)
linux·网络·云原生·容器·kubernetes·云计算
2501_939909051 小时前
Rancher 管理 Kubernetes 集群与Pod的详解
容器·kubernetes·rancher
可爱又迷人的反派角色“yang”1 小时前
k8s(二)
linux·运维·docker·云原生·容器·kubernetes·云计算
旧日之血_Hayter2 小时前
docker部署项目,/var/lib/docker/overlay2目录满了如何清理?
运维·docker·容器
m0_488777652 小时前
Kubernetes基础
云原生·容器·kubernetes·yaml
文言一心2 小时前
基于 Docker + Docker Compose 实现一键部署(单节点部署场景下轻量、易维护、可一键启停)
运维·docker·容器
守护砂之国泰裤辣2 小时前
Windows+docker下简单kafka测试联调
java·运维·spring boot·docker·容器