NPU芯片故障后,导致Volcano重启,并且重调度后下发的Pod长时间处于pending状态

问题描述

NPU芯片故障后,会偶尔出现volcano-scheduler组件的Pod重启,并且重调度后下发的任务Pod长时间处于pending状态。

原因

NPU芯片故障后,k8s将故障的NPU芯片移除。当Volcano归还Pod占用的NPU芯片资源时,发现当前NPU芯片和K8s上NPU芯片数量不一致,从而引发panicVolcano会将该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