K8S pod的状态为ErrImagePull 或者 ImagePullBackOff的解决办法

1 k8s在安装calico网络插件时出现镜像拉取失败的情况

1.1 查看容器的pod

kubectl get pod -A

发现pod的状态为ErrImagePull 或者 ImagePullBackOff,这两个状态都表示镜像拉取失败。

区别总结

状态含义触发原因重试行为
ErrImagePull拉取镜像失败,未进入退避状态。镜像不存在、仓库不可达、权限问题等。失败后 Kubernetes 会立即重试。
ImagePullBackOff拉取镜像失败且多次重试后进入退避状态,表示 Kubernetes 会暂停一段时间再重试。由于多次失败导致的状态,通常和 ErrImagePull 状态持续发生有关。在多次失败后,Kubernetes 会暂停一段时间再重试,避免过于频繁的重试。

1.2 查看拉取失败的pod的详细信息

kubectl describe pod <pod-name> -n kube-system

Events 部分显示类似的错误信息:

Failed to pull image "docker.io/calico/node:v3.20.6": rpc error: code = Unknown desc = Error response from daemon: Get "https://registry-1.docker.io/v2/": dial tcp 47.88.58.234:443: connect: connection refused

根据错误信息得知再拉取calico/node:v3.20.6镜像时出现了网络原因无法连接到docker.io的注册服务器。

1.3 去镜像站找到对应镜像

去https://docker.aityp.com/ 中找到对应的镜像,获取链接通过docker pull获取,再利用docker tag对镜像打标

docker pull swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/node:v3.20.6
docker tag  swr.cn-north-4.myhuaweicloud.com/ddn-k8s/docker.io/calico/node:v3.20.6  docker.io/calico/node:v3.20.6

可能多个镜像出现拉取失败的情况,后续重复以上步骤即可。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值