昇腾社区首页
中文
注册

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版本问题(开源社区版),可以通过删除VolcanoPod方式解决。删除VolcanoPod命令如下(其中volcano-scheduler的Pod的名称需要根据实际情况填写):
    kubectl delete pod -n volcano-system   volcano-scheduler-xxxxxxxxx
  • 如果使用的K8s是1.17及以上版本,可通过部署v1.7.0版本的Volcano来解决该问题。