其他分享
首页 > 其他分享> > 解决k8s集群中mount volume失败的问题

解决k8s集群中mount volume失败的问题

作者:互联网

有的时候,k8s中挂载了rbd存储的pod重启后会持续处于ContainerCreating的状态,describe后发现有MountVolume.Setup failed以及Unable to mount volumes for pod xxx的错误描述。

这种情况看上去是rbd设备挂载到pod上失败,但真实原因往往是pod迁移后,在原节点上map的rbd设备没有正常迁移走导致的。

这个时候应该执行的是手动从原节点上unmap掉这个rbd设备。

一、找到rbd设备map的节点

通过kubectl get pvc找到这个pvc所绑定的pv。

然后根据这个pv,在集群中的节点上执行:

rbd showmapped

找到这个pv所map的节点和rbd设备。

二、查看挂载点

看一下这个rbd设备有没有挂载点(应该是没有)。

执行:

findmnt -n [rbd设备]

如果没有输出表明没有挂载点。如果输出类似/var/lib/kubelet/plugins/kubernetes.io/rbd/*,表明挂载点有误,需要手动删除挂载点。

执行:

unmount [挂载点]

三、手动unmap

确保没有挂载点之后,执行

rbd unmap [rbd设备]

手动将这个rbd设备unmap掉。

过一段时间后,新的rbd设备会自动挂载到新节点上。

标签:rbd,unmap,mount,volume,挂载,pod,k8s,节点,设备
来源: https://www.cnblogs.com/00986014w/p/13683909.html