释放 Kubernetes 故障节点上的 RBD 卷


释放 Kubernetes 故障节点上的 RBD 卷

现象

  • sts由于唯一性导致无法直接漂移,出现Terminating,以及长期init状态的pod

image-20220902152404094

  • 我们也无法直接删除该pod,强制删除后依然无法完成启动。

image-20220902152213882

  • 原因

kubectl describe pod查看对应的失败原因情况下,由于存储后端为ceph-rbd,而ceph-rbd的pvc为支持RWO。

  • Terminating状态的pod的原因,无法完成unmap操作,也就是unattch操作,此时由于sts的唯一性,无法完成pod漂移操作,由于需要等待解绑操作的完成,则由于锁无法完成删除操作。
  • 长期init状态,由于存储后端为ceph-rbd,而ceph-rbd的pvc为支持RWO,在不同节点上无法完成attach操作。

如果是RWO则需要解决pvc无法挂载问题如下:

image-20220902152032425

解决办法

故障节点登陆:

  • 停止并删除其中的容器 docker stop xxx
  • 卸载该卷 umount
  • 解除绑定操作 unmap /dev/rbdx

故障节点不可登陆:

  • 找到对应的images信息 kubectl get pv PVNAME -o yaml|awk ‘/imageName|pool/‘

image-20220902153359488

  • 查看该images信息状态 rbd status -p bigstorage csi-vol-24298ba1-2130-11ed-b43d-0e005bd3f3f6

  • 将该关联拉黑. ceph osd blacklist add 172.199.1.0:0/286978028

image-20220902153459422

参考

参考1

参考2


文章作者: james.liu
版权声明: 本博客所有文章除特別声明外,均采用 CC BY 4.0 许可协议。转载请注明来源 james.liu !
  目录