---
title: 断点续训任务被重调度后Pod状态不一致-昇腾社区
description: 在多节点集群环境中下发分布式训练任务，若此时环境资源刚好满足，开启任务重调度且重调度参数“fault-scheduling”为“grace”。此时，如果出现故障将触发重调度，但是任务重调度后会概率性出现一个Pod状态为Running和一个Pod状态为Pending的情况。后续故障恢复后，状态为Pending的Pod依然为Pending。
keywords: 重调度;Pod状态
url: https://www.hiascend.com/document/caselibrary/detail/mindxdl_0023
section: (其他)
---

# 断点续训任务被重调度后Pod状态不一致-昇腾社区

URL: https://www.hiascend.com/document/caselibrary/detail/mindxdl_0023
描述: 在多节点集群环境中下发分布式训练任务，若此时环境资源刚好满足，开启任务重调度且重调度参数“fault-scheduling”为“grace”。此时，如果出现故障将触发重调度，但是任务重调度后会概率性出现一个Pod状态为Running和一个Pod状态为Pending的情况。后续故障恢复后，状态为Pending的Pod依然为Pending。
关键词: 重调度;Pod状态

昇腾文档 [了解详情](https://www.hiascend.com/document)

故障案例 [了解详情](https://www.hiascend.com/document/caselibrary)

断点续训任务被重调度后Pod状态不一致

断点续训任务被重调度后Pod状态不一致

2025/01/26

1k

问题信息

| 问题来源 | 产品大类 | 产品子类 | 关键字 |
| --- | --- | --- | ---|
| 官方 | 集群调度 | 断点续训 | 重调度、Pod状态 |

#### 问题现象描述

在多节点集群环境中下发分布式训练任务，若此时环境资源刚好满足，开启任务重调度且重调度参数“fault-scheduling”为“grace”。此时，如果出现故障将触发重调度，但是任务重调度后会概率性出现一个Pod状态为Running和一个Pod状态为Pending的情况。后续故障恢复后，状态为Pending的Pod依然为Pending。

#### 原因分析

- 该问题是开源代码中对任务数量的判断存在问题。
- 当Pod被终止时，若容器中的脚本没有返回非0的值时（即返回0值时），则Pod的状态会显示为Success（K8s机制）。此时该Pod正在释放资源，Volcano调度器会将该Pod（未重启）算作是已经重启且状态为Success。这种情况下，刚好满足Volcano的gang调度插件的机制，先重启的Pod会进入创建阶段。当正在终止的Pod结束并重新拉起时，则会由于资源不足进入Pending状态。
- 未使用断点续训的脚本。
- 集群资源不够。

#### 解决措施

- 执行以下命令，手动删除已运行的Pod。

```
kubectl delete pod -n pod所在的namespace pod名称
```
- 删除该任务，再重新下发任务。

本页内容

- 问题信息
- 问题现象描述
- 原因分析
- 解决措施
