SuperAPI AI 工具集

gke-ai-troubleshooting-jobset-interruption

通用与其它

查看项目

更新于 10-15 21:54

技能介绍

用途:在 GKE 集群上系统诊断大规模 AI/ML 训练工作负载的 JobSet 中断、重启与抢占问题,定位是抢占、维护、宿主机故障还是应用层崩溃。

前提条件:集群需在 kube-state-metrics 中启用 JobSet 指标包;Google Cloud 项目需启用 Cloud Logging 与 Cloud Monitoring。

诊断流程:先获取上下文(项目 ID、集群名、JobSet 名、命名空间、问题时间),拒绝相对时间,若只给单个时间戳 T 则查询窗口为 [T-30m, T+30m]。随后依次:Step 1 用 MQL 或 PromQL 查询 kube_jobset_restarts 判断重启频率;Step 2 查询节点池 interruption_count 并检索 gke_nodepool 日志,区分抢占、维护与终止事件;Step 3 检查节点 Ready 状态、节点到 GCE 宿主机拓扑映射及 k8s_node 故障日志;Step 4 查看 Pod 阶段、不可调度 Pod 数量及协调器 worker 容器日志,排查 NCCL 超时等通信问题。

使用方式:通过 monitoring_time_series_chart 执行 MQL 图表查询,或经 shell 执行 curl 调用 Monitoring Prometheus API(需 BypassSandbox: true),日志用 query_logs 配合 LQL 过滤。

处置建议:若为 Spot 抢占,建议关键长时训练改用预留/按需 VM 或紧凑放置策略;若定位到反复故障的宿主机 ID,建议封锁排空节点、删除底层 GCE VM 并提交支持工单,此操作属高风险,须用户明确确认后执行。

限制:依赖上述指标与日志启用状态;具体命令模板中的占位符需替换为实际值;资料未提供其他平台支持或收费信息。