You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让AzureML作业在附加Kubernetes集群等待GPU可用而非失败

问题描述

我在附加的Kubernetes计算集群上运行AzureML作业,使用的是自定义实例类型,该类型要求2个GPU资源。当触发作业时,由于其他作业占用了GPU,集群仅剩余1个GPU可用。我期望作业进入排队状态,等2个GPU可用后再启动,但作业标签中出现了如下错误:

retry-reason-1 : 03/08/2023 10:45:05 +00:00, FailureMsg: PodPattern matched: {"reason":"UnexpectedAdmissionError","message":"Pod Allocate failed due to requested number of devices unavailable for nvidia.com/gpu. Requested: 2, Available: 1, which is unexpected"}, FailureCode: -1006

作业会重试10次后直接失败。我能否修改这个行为?比如设置最长等待时间,让作业排队更久,避免快速失败。

触发作业的az CLI命令:

az ml job create -f myjob.yaml

作业YAML定义:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
experiment_name: my-experiment

command: |
  python myscript.py
  
code: .
environment: azureml:my-environment:1
compute: azureml:my-onprem-compute
resources:
  instance_type: myinstancetypewith2gpus
解决方法

1. 自定义作业重试与超时配置

在作业YAML中添加retry_settings字段,调整重试次数、间隔以及作业总超时时间,让作业有更长时间等待资源:

$schema: https://azuremlschemas.azureedge.net/latest/commandJob.schema.json
experiment_name: my-experiment

command: |
  python myscript.py
  
code: .
environment: azureml:my-environment:1
compute: azureml:my-onprem-compute
resources:
  instance_type: myinstancetypewith2gpus
# 新增重试与超时配置
retry_settings:
  max_retries: 50          # 大幅增加重试次数
  retry_interval: 300      # 重试间隔设为5分钟(单位:秒)
  timeout: 86400           # 作业总时长上限设为24小时(含排队+运行时间)

2. 优化Kubernetes调度策略

要让资源不足时Pod进入Pending状态而非直接触发准入错误,需调整Kubernetes层面的配置:

  • 确保nvidia-device-plugin未启用资源耗尽时直接拒绝的策略,允许Pod等待资源释放。
  • 启用PodPriorityAndFairness特性,配置作业优先级,避免低优先级作业抢占资源,同时让高优先级作业能长期排队等待。

3. 集群资源扩容优化(可选)

如果集群支持自动缩放,可开启AzureML计算集群的节点自动缩放功能:

  • 在AzureML工作室中找到目标Kubernetes计算集群,开启自动缩放,设置最小/最大节点数,当GPU资源不足时自动扩容节点,从根源解决资源短缺问题。
  • 也可在作业中指定priority字段,确保关键作业优先获得资源:
priority: high  # 优先级可选值:low/medium/high

注意事项

  • timeout参数控制作业从提交到终止的总时长,需根据实际需求设置足够大的值,避免因排队时间过长被强制终止。
  • 单纯调整重试参数是治标方法,优化Kubernetes调度策略才能让Pod真正进入排队状态等待资源,而非反复重试失败。

内容的提问来源于stack exchange,提问作者ouphi

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.29 12:17:50