多颗NPU芯片故障后,导致Volcano重启,重调度任务不触发

问题描述

多颗芯片同时故障,可能导致Volcano调度模块崩溃、重启,出现以下两种场景:
  • 故障重调度可能不执行。可参考解决办法进行处理。
  • 可能会出现状态为UnexpectedAdmissionError的Pod记录,但是不影响任务最终以一个新Pod被拉起,此时任务是正常运行,无须进一步处理。

原因

NPU芯片故障后,k8s将故障的NPU芯片移除。当Volcano归还Pod占用的NPU芯片资源时,发现当前NPU芯片和K8s上NPU芯片数量不一致,从而引发panic

解决办法

由于该问题为volcano v1.4.0版本问题(开源社区版),因此只能通过删除Volcano的Pod方式解决。

删除Volcano的Pod命令如下(其中volcano-scheduler的Pod的名称需要根据实际情况填写):

kubectl delete pod -n volcano-system   volcano-scheduler-xxxxxxxxx