k8s-部署pod的时候遇到的问题

在部署pod出现了一直停在了ImagePullBackOff或者其它情况

先查看日志,只有先查看了日志,才能知道为什么会出现这种问题。

比如我出现的问题ImagePullBackOff
在这里插入图片描述
查看对应pod的日志

kubectl describe pod openebs-ndm-qxcns -n openebs

这里查看对应pod的日志, openebs-ndm-qxcns是 pod的名称

查看日志的时候我出现过两种问题现象

第一种

一直卡在拉取镜像
在这里插入图片描述
如果等待的时间久了,可能就会出现

fail to pull image "quay.io/openebs/provisioner-localpv:1.5.0"

等类似的问题。

解决办法:

先找到下载pod失败的服务器是哪台(因为我已经解决问题了,所以这里我的pods都是running状态)

kubectl get pods --all-namespaces -o wide

在这里插入图片描述
这里的node对应的就是服务器的名称,找到下载pod失败的服务器之后,登录到对应的服务器上。然后手动拉取对应镜像下来

docker pull quay.io/openebs/provisioner-localpv:1.5.0

等待镜像下载成功。
回到master节点的服务器,把对应的pod删掉(k8s会自动重新拉起一个pod)

kubectl delete pod openebs-ndm-qxcns -n openebs

这里openebs-ndm-qxcns对应的是pod的name。
再次进入对应pod的日志会看到如下信息。
在这里插入图片描述
这里的意思是说,机器上已经有该镜像了。等待pod加载成功,那么状态会变成running状态。

第二种情况

第二种情况是镜像已经下载成功,但是查看日志的时候发现卡在了这里

Back-off restarting failed container

这里显示的是重启容器失败,我采用的办法是把该pod删掉,然后等待k8s重新拉起一个pod就解决了。

使用docker下载的问题

在使用docker拉取镜像的时候可能会遇到两个问题

第一个就是无法拉取到镜像,显示各种error,网络问题,此时修改一下虚拟机的dns

vi /etc/resolv.conf

修改为如下(119.29.29.29是腾讯的dns,也可以使用114.114.114.114这种较为经典的dns)
在这里插入图片描述
再次尝试下载对应的镜像。

第二个问题

如果用docker下载的时候是遇到卡住的问题的话,例如一直显示

v1.17.3: Pulling from google_containers/kube-proxy
597de8ba0c30: Already exists 
3f0663684f29: Pulling fs layer

卡住不动的情况下,重新启动一下docker即可解决问题

systemctl restart docker

搭建k8s时候下载的镜像也比较多,出现问题的pod也比较多,但是通过日志排查的方法,还是将pod一一部署完成了。以下是pods成功跑起来的示例图。
在这里插入图片描述

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值