Pod卡在containercreating,pod event报错 Unable to mount volumes for pod “xxx”: timeout expired waiting for volumes to attach/mount for pod “xx”

  其他常见问题
内容纲要

概要描述

本文描述pod状态卡在ContainerCreating阶段,且kubectl describe pod -n xxxx 中pod event报错“Unable to mount volumes for pod "xxx": timeout expired waiting for volumes to attach/mount for pod "xx"”的排查思路以及解决方案

详细描述

问题描述

创建Pod时经常遇到volume mount超时的情况,此时pod的状态一直保持在ContainerCreating状态,使用kubectl describe pod会看到类似下面的错误信息:

Warning  FailedMount            41s (x40 over 1h)  kubelet, tdcdev06  Unable to mount volumes for pod "kibana-r6pnc-58b58ccf5f-rjtz6_1g68azg(1fccdf02-35a2-11e9-bebb-0cc47ae29dba)": timeout expired waiting for volumes to attach/mount for pod "1g68azg"/"kibana-r6pnc-58b58ccf5f-rjtz6". list of unattached/unmounted volumes=[kibana-supervisor]

排查思路

1 确认warpdrive服务状态

warpdrive 所有的操作都添加了event,如果describe pod时,只看到了mount超时的错误,没有看到具体操作的error event,很大概率说明warpdrive是正常的,要么其函数一直没有被调用,要么调用的时候没有发生错误。

systemctl status warpdrive
2 查看warpdrive日志是否有报错
journalctl -xeu warpdrive
3 查看warpdrive是否占用到<主机名:8808>
netstat -antulp | grep 8808

file
若没有,则

systemctl restart warpdrive
4 events里面有关键报错Get "http://warpdrive-manager-servcie:9500/v1/volumes/xxxx"

如果还有关键报错:

failed to get volume xxxx, err: Get "http://warpdrive-manager-servcie:9500/v1/volumes/xxxx": dial tcp 10.10.10.40.152:9500: i/o timeout

file
确认warpdrive-manager 是否健康, 可以进行pod的重启

kubectl get po -n kube-system -o wide | grep warpdrive-manager

检查servcie配置是否正确

kubectl get svc -n kube-system -o wide | grep warpdrive-manager

file
从主机直接访问service观察是否正常
file
从主机直接访问service观察是否正常

curl -v 10.10.40.152:9500
5 重启后还是有问题可以检查 /etc/hosts 配置是否正确。
6 若报错:open /dev/mapper/xxxx_vg-warpdrive_xxxx_data_xxxx: no such file or director,则是存储池未激活导致

检查内核日志是否报错 dmesg –level err | grep sdX
手动激活:vgchange -ay xxxx_dev_sdX_vg
重启 warpdrive

这篇文章对您有帮助吗?

平均评分 0 / 5. 次数: 0

尚无评价,您可以第一个评哦!

非常抱歉,这篇文章对您没有帮助.

烦请您告诉我们您的建议与意见,以便我们改进,谢谢您。