昇腾故障案例详情页

Volcano资源不足时,任务处于pending状态

更新时间: 2023/06/13

暂无评分

问题信息

问题来源产品大类产品子类关键字
官方安装部署MindX DLVolcano、任务调度、pending、volcano-scheduler

问题现象描述

使用Volcano进行任务调度时,若申请的资源大于当前环境可用资源,任务不会被调度,同时状态会置为pending。若申请的资源大于集群所拥有的资源上限时,任务则会一直处于pending状态。

以自定义命名空间mindx-test的“mindx-dls-npu-16p”任务为例进行说明(该任务在集群只有8个NPU的情况下,申请16个NPU)。

执行以下命令,查看任务详情:
kubectl describe vcjob -n mindx-test mindx-dls-npu-16p

回显示例如下:

root@ubuntu:/home/yaml# kubectl describe vcjob -n mindx-test   mindx-dls-npu-16p
Name:         mindx-dls-npu-16p
Namespace:    mindx-test
Labels:       ring-controller.atlas=ascend-910
...
  Min Available:  2
  ...
    Replicas:  2
    ...
          Resources:
            Limits:
              Cpu:                   10
              huawei.com/Ascend910:  8
              Memory:                20Gi
            Requests:
              Cpu:                   10
              huawei.com/Ascend910:  8
              Memory:                20Gi
...
Status:
  Controlled Resources:
    Plugin - Env:  env
    Plugin - Ssh:  ssh
    Plugin - Svc:  svc
  Min Available:   2
  State:
    Last Transition Time:  2021-02-09T07:38:04Z
    Phase:                 Pending
Events:                    <none>

由此可见该任务处于pending状态。

原因分析

资源不够,volcano-scheduler未将任务终止。

解决措施

  1. 在调用前请确保资源充足。
  2. 若任务已经下发,并且处于pending状态,可使用 kubectl get vcjob -n namespace找到任务。

    root@ubuntu:/home/yaml# kubectl get vcjob -n mindx-test
    NAME                AGE
    mindx-dls-npu-16p   6m10s

  3. 执行kubectl delete vcjob mindx-dls-npu-16p -n namespace命令,删除该vcjob。

    root@ubuntu:/home/yaml# kubectl delete vcjob mindx-dls-npu-16p -n mindx-test
    job.batch.volcano.sh "mindx-dls-npu-16p" deleted

    说明

    • mindx-dls-npu-16p:vcjob的任务名字。
    • mindx-test:该任务所属的namespace名称。

本页内容

该页面对您有帮助吗?
我要评分