重启K8S节点部分pvc不能正常挂载

Tags: 重启K8S节点部分pvc不能正常挂载
重启K8S节点部分pvc不能正常挂载
===
在本文中重点讲一下重启K8S节点以后部分pvc不能正常挂载的解决方案; node

1. 故障发生:

  咱们一台k8s计算节点出现故障,强制重启以后,有一个gitlab的pod启动的时候,经过kubectl describe pods gitlab查看的日志老是有报错: python

Multi-Attach error for volume "pvc-76b54b6c-df46-11e7-a2f0-005056b12f99" Volume is already exclusively attached to one node and can't be attached to another

2. 故障处理:

查看pv对应哪一个rbd image,这个命令在安装kubectl命令的k8s节点执行 git

kubectl get pv pvc-1557d839-714f-11e9-8d1a-5065f3457c8c -o go-template='{{.spec.rbd.image}}'

根据上一步输出的结果,在ceph节点上面查看rbd image的watcher,-p指定pool redis

sudo rbd status kubernetes-dynamic-pvc-199d4a26-714f-11e9-bb25-480fcf482f56 -p kube

根据输出的结果,登陆到那台机器上面,在查看rbd images mapped关系 shell

sudo rbd showmapped | kubernetes-dynamic-pvc-199d4a26-714f-11e9-bb25-480fcf482f56

最后一步,根据上一步命令的执行结果,在这台机器上面卸载rdb imags 编程

sudo rbd unmap /dev/rbd8

而后再重启pod,发现pvc能够正常挂载了; 微信

博文的更详细内容请关注个人我的微信公众号 “云时代IT运维”,本公众号旨在共享互联网运维新技术,新趋势; 包括IT运维行业的咨询,运维技术文档分享。重点关注devops、jenkins、zabbix监控、kubernetes、ELK、各类中间件的使用,好比redis、MQ等;shell和python等运维编程语言;本人从事IT运维相关的工做有十多年。2008年开始专职从事Linux/Unix系统运维工做;对运维相关技术有必定程度的理解。本公众号全部博文均是个人实际工做经验总结,基本都是原创博文。我很乐意将我积累的经验、心得、技术与你们分享交流!但愿和你们在IT运维职业道路上一块儿成长和进步;

重启K8S节点部分pvc不能正常挂载

相关文章
相关标签/搜索