NPU芯片故障后,导致Volcano重启,并且重调度后下发的Pod长时间处于pending状态
问题现象描述
NPU芯片故障后,会偶尔出现volcano-scheduler组件的Pod重启,并且重调度后下发的任务Pod长时间处于pending状态。
原因分析
NPU芯片故障后,K8s将故障的NPU芯片移除。当Volcano归还Pod占用的NPU芯片资源时,发现当前NPU芯片和K8s上NPU芯片数量不一致,从而引发panic。Volcano会将该node设置为notReady状态(直到下一个改变node状态的事件发生才会被设置为ready),期间若没有其他节点满足NPU芯片资源要求,则重调度后的新Pod会一直处于pending状态。
解决措施
可选择以下两种方式来解决该问题。
- 由于该问题为Volcano v1.4.0版本问题(开源社区版),可以通过删除Volcano的Pod方式解决。删除Volcano的Pod命令如下(其中volcano-scheduler的Pod的名称需要根据实际情况填写):
kubectl delete pod -n volcano-system volcano-scheduler-xxxxxxxxx
- 如果使用的K8s是1.17及以上版本,可通过部署v1.7.0版本的Volcano来解决该问题。
父主题: 故障处理