1. 基本信息
| 项目 | 内容 |
|---|---|
| 名称 | GKE JobSet Interruption Troubleshooting |
| 作者/维护者 | Google(google/skills 仓库) |
| 来源链接 | https://github.com/google/skills/tree/main/skills/cloud/gke-ai-troubleshooting-jobset-interruption |
| 许可证 | Apache-2.0(数据来源:GitHub API) |
| GitHub Stars | 18,689(数据来源:GitHub API;该数字属整个 google/skills 合集仓库,不代表本技能自身热度) |
| Forks | 1,459(同上,合集整体数据) |
| 最新版本 | 仓库不发布正式 release,持续滚动更新;本技能目录最近一次提交为 2026-07-30(数据来源:GitHub API) |
| 安装方式 | npx skills add google/skills 交互式勾选安装,或手动复制 skills/cloud/gke-ai-troubleshooting-jobset-interruption/ 目录到 agent 的 skills 目录 |
2. 功能介绍与亮点
这个技能专门诊断 GKE 上托管大规模 AI/ML 训练任务的 JobSet 中断、重启与抢占问题——JobSet 是 Kubernetes 编排分布式训练常用的资源类型,重启循环、Spot VM 抢占、节点就绪失败、宿主机故障、协调节点(coordinator)崩溃都是它常见的失效模式。技能提供一套五步自动化诊断链路:
- 重启计数核查:用 MQL/PromQL 查询
kube_jobset_restarts判断 JobSet 是否处于重启循环。 - 节点池中断关联:区分是 Spot VM 抢占、计划内维护、还是宿主机严重故障导致的中断,并给出对应日志过滤模板。
- 节点—物理宿主机拓扑关联:通过
gce_topology_host元数据把反复失败的节点关联回同一台物理宿主机,识别“问题机器”。 - Pod 生命周期与协调器日志:检查 Pod 调度状态与协调节点(worker 0)日志,定位 NCCL 超时、集合通信卡死等应用层故障。
- 修复建议:按诊断结果分别给出“改用预留/按需实例或紧凑放置策略减少抢占”(低风险)与“隔离并删除故障宿主机 VM 触发重建”(高风险,仅作为建议提出、不自动执行)两类处置路径。
亮点:
- 每一步都显式标注风险等级(Low Risk / High Risk),高风险操作(删除物理宿主机 VM)只作为给用户的建议呈现,技能本身不代为执行破坏性操作。
- 附带
references/failure_signatures.md参考文件,收录典型的节点终止日志与抢占事件样例,降低日志误判概率。 - 末尾提供一份可直接复制执行的诊断清单(Copypaste Checklist),把五步流程收束成一份可勾选的操作单。
3. 适用场景
固定分类:DevOps 与基础设施。
适用于在 GKE 上运行大规模 GPU/TPU 分布式训练任务、需要排查训练任务反复中断或重启原因的平台工程师与 ML 基础设施团队。JobSet 是 GKE 上编排分布式训练的通用资源类型,不限定 GPU 或 TPU 某一种加速器,覆盖面比针对单一加速器型号的专项排查技能更宽。
4. 跨 Agent 兼容性
- Claude Code:原生支持——SKILL.md 遵循标准 Agent Skills 格式,且
npx skills add安装器官方支持列表明确列出 Claude Code 专用安装路径(.claude/skills/)。 - Codex:原生支持——同一安装器官方支持列表列出 Codex 专用路径(
.codex/skills/)。 - OpenClaw:原生支持——同一安装器官方支持列表列出 OpenClaw 专用路径(
~/.openclaw/skills/)。 - Hermes Agent:原生支持——同一安装器官方支持列表列出 Hermes Agent 专用路径(
~/.hermes/skills/)。
5. 推荐理由
它把 GKE 分布式训练最常见、也最难查的一类故障——JobSet 反复重启——拆成一条从“是否在重启”到“是不是同一台物理机在捣鬼”再到“协调器日志里到底是什么错”的可执行诊断链,每步都给出现成的查询语句,且危险操作只建议不代执行。
6. 评分
| 维度 | 分数 | 说明 |
|---|---|---|
| 受欢迎程度 | 7 | 发布方 Google 为一线云厂商,属官方出品,受欢迎程度不低于 7 分的保底档;google/skills 合集仓库 18,689 星不计入单个子技能,本技能自身暂无独立第三方讨论证据 |
| 可用性 | 9 | SKILL.md 单文件即为完整安装单元,五步诊断流程均附可直接执行的 MQL/PromQL/日志过滤语句与判定逻辑,另附参考文件与可复制诊断清单;技能目录最近一次提交在近 3 个月内(2026-07-30),无付费依赖 |
| 安全性 | 9 | 全部内容开源可审计(Apache-2.0);诊断步骤全部是只读查询(指标、日志),唯一的破坏性操作(删除故障宿主机 VM)明确标注为“High Risk”且只作为建议提出、不由技能自动执行;未发现可疑指令 |
安全检查清单:
| 检查项 | 结果 |
|---|---|
| ① Shell 命令执行范围 | 无独立可执行脚本;正文引导调用只读的指标查询(MQL/PromQL)、日志查询(LQL)与 kubectl 只读命令,与技能声明功能一致 |
| ② 运行时联网外发 | 无独立外发;查询均发往用户自己的 Google Cloud 项目(Cloud Monitoring / Cloud Logging) |
| ③ API key/凭据 | 复用用户本机已有的 gcloud/kubectl 认证态,技能本身不额外索取或存储凭据 |
| ④ 可疑指令/注入迹象 | 未发现;“Sandbox Rule”段落明确禁止在权限失败时进入认证排查死循环,属正向的自主执行边界说明,非可疑指令 |
| ⑤ 作者/组织信誉 | Google 官方仓库,无造假迹象 |
| ⑥ License | Apache-2.0,明确 |
| ⑦ 最近维护时间 | 技能目录最近提交 2026-07-30,所属仓库整体最近提交 2026-08-24,持续维护中 |
7. 跟同类 Skills 相比的优势
| 项目 | 定位 | 与本技能的差异 |
|---|---|---|
| Gke_Workload_Troubleshooting_Google_Skills | 面向 GKE 工作负载的通用故障排查(涵盖调度失败、镜像拉取失败、配置错误等广谱问题) | 覆盖面更广但不聚焦某一类故障;本技能专攻 JobSet 中断这一具体故障模式,诊断链路更深,能关联到物理宿主机层面 |
| Gke_Observability_Google_Skills | 建立 GKE 集群的日常可观测性基线(指标采集、告警配置、仪表盘) | 面向“平时怎么监控”的常态化配置;本技能面向“训练任务已经中断,现在怎么查”的事后诊断场景,两者互补而非替代 |
| Gke_Cluster_Autoscaler_Google_Skills | 配置与调优 GKE 集群自动扩缩容策略 | 面向扩缩容策略的前置配置;本技能面向扩缩容或抢占已经导致中断后的根因排查,处理的是故障发生之后的阶段 |
8. 用户评价
该技能目前在第三方平台尚无具名用户评价;技能本体在 2026-07-30 才随仓库更新加入,google/skills 仓库近期提交活跃(含多个死链修复与新技能补充),但暂未见到围绕该技能自身的第三方讨论。
9. 其他补充
技能正文明确区分“信息性问题”与“实时诊断”两类请求:若用户只是询问“如何检查”这类方法论问题,或当前无法直接触达集群资源,技能会直接给出计算好的时间窗口与查询模板,而不会尝试实际执行查询命令。
10. 安装使用方式
- 一键安装:
npx skills add google/skills,安装过程中勾选 “GKE JobSet Interruption Troubleshooting”。 - 插件市场安装(Claude Code):
claude plugin marketplace add google/skills,再执行claude plugin install <plugin>@google-plugins。 - 手动安装:将仓库
skills/cloud/gke-ai-troubleshooting-jobset-interruption/SKILL.md(含references/目录)复制到本地 agent 的 skills 目录。 - 使用前需已完成
gcloud container clusters get-credentials认证,本机具备kubectl、gcloud两个命令行工具,且集群已启用 Cloud Logging、Cloud Monitoring 与kube-state-metrics的 JobSet 指标包。
11. 注意事项
- 诊断依赖 JobSet 指标包已在
kube-state-metrics中启用,未启用时部分重启计数查询会返回空结果,需先完成该项前置配置。 - “隔离故障宿主机”这类高风险修复建议仅给出操作思路(cordon/drain 节点、删除底层 GCE 实例并联系 Google Cloud 支持),实际执行需要用户自行确认并操作,技能不代为执行。
- 内容聚焦 JobSet 这一具体资源类型的中断诊断,不覆盖非 JobSet 的通用工作负载故障(该部分由同仓库
gke-workload-troubleshooting覆盖)。