GKE GPU/TPU 中断诊断
诊断并缓解 GKE 中 GPU/TPU 节点因主机维护导致的中断。
流程主要建议读取节点标签、PromQL、日志和污点,且未包含破坏性默认操作;但未明确要求执行命令前获得用户确认,未说明日志或遥测中的敏感数据处理、权限范围、数据流、回滚方案或完整来源归因,因此扣分。
步骤顺序和输入要求较清晰,包含负面结果分支与部分解释;但未提供脚本、测试、CI 或异常输入处理,且“存在计划维护标签即保证发生中断”等表述可能过度绝对化,静态证据不足,因此扣分。
名称、适用场景、可选参数和排除场景均有说明,覆盖 GPU/TPU 节点维护中断诊断;但未定义更多边界、输出格式或触发细则,也未提供中文支持,并依赖 GKE、kubectl、Cloud Monitoring/Logging 等环境,故扣分。
文档按诊断步骤组织,包含安装仓库说明、Apache-2.0 许可和若干命令示例;但技能文件没有版本、变更记录、依赖安装、维护责任或专门更新路径,限制条件和 FAQ 也不充分,因此扣分。
该流程可直接指导维护标签、PromQL、日志和污点检查,并给出终止宽限期、机会式维护和 PDB 等缓解方向;但没有可验证的代表性输出,强制三项缓解措施可能不适用于所有工作负载,且静态审查无法证明结果正确性,因此扣分。
技能包含具体字段、指标、PromQL 和 Google Cloud 文档链接,具备有限的审计线索;但没有提交测试、CI 覆盖、执行记录或多来源交叉验证,结论主要依赖作者说明,因此扣分。
- “存在计划维护标签即保证发生中断”等结论应结合官方语义和实际事件证据复核。
- 执行 kubectl、日志查询或监控查询前,应确认用户授权、最小权限和敏感数据脱敏要求。
- 机会式维护、终止宽限期和 PDB 三项措施应按工作负载类型、控制器行为及恢复目标逐项适配,不宜无条件强制。
- 该技能未提供中文说明或中国大陆网络可达性信息,相关 Google Cloud 服务访问可能受环境影响。
这个 Skill 能做什么,适合哪些场景?
该技能面向运行 GPU 或 TPU 工作负载的 GKE 节点池。它通过节点维护标签、Cloud Monitoring PromQL、Cloud Logging 和节点污点,判断中断是否由 Compute Engine 主机维护引起。确认维护事件后,它会建议优雅终止、机会性维护和 PodDisruptionBudget 三项保护措施。若所有维护信号均为空,则引导用户排查 OOMKill、CUDA 错误或资源限制等应用层原因。
在实际故障信息不完整时,先要求 project_id、location、cluster_name 和 timestamp;使用 kubectl 查询 scheduled-maintenance-time 标签;提供 kubernetes_io:node_interruption_count 和 node_pool_interruption_count 的 PromQL;检查 active-node-maintenance=ONGOING 日志及 impending-node-termination:NoSchedule 污点;输出高信号结论并建议配置 terminationGracePeriodSeconds、机会性维护和 PodDisruptionBudget。
- GKE 运维人员调查 GPU 节点意外重启或工作负载中断。
- 平台工程师检查 GPU/TPU 节点池是否即将进行主机维护。
- 可观测性工程师用 PromQL 跟踪硬件或软件维护导致的节点中断。
- 机器学习团队为需要保存检查点的工作负载配置中断保护。
- 团队需要区分 Compute Engine 主机维护与 OOMKill、CUDA 错误等应用层故障。
这个 Skill 有哪些优点和局限?
- 针对 GKE GPU/TPU 节点主机维护中断,范围清晰。
- 提供具体的 kubectl 查询、PromQL 指标和日志/污点检查方法。
- 明确规定维护事件确认后的三项工作负载保护措施。
- 对维护信号为空的情况提供应用层故障排查方向。
- 只覆盖主机维护导致的节点中断,不适用于一般 GKE 集群创建、网络策略或非中断部署。
- 实际调查要求四项完整集群上下文,不能在信息不足时直接给出诊断理论。
- 源材料未提供测试套件、版本兼容矩阵或具体权限说明。
- 源材料未说明如何配置安装目录或自动调用 Cloud Monitoring/Logging 工具。
如何安装这个 Skill?
使用仓库 README 提供的命令安装技能集合:npx skills add google/skills。安装过程中可选择此仓库中的具体技能;README 未说明具体安装目录或单独选择该技能的命令。
如何使用这个 Skill?
将此技能目录中的 SKILL.md 放入 Agent Skills 客户端可发现的技能目录,然后请求类似“调查项目 PROJECT_ID、区域 LOCATION、集群 CLUSTER_NAME 在 TIMESTAMP 发生的 GPU 节点中断”。实际故障调查必须提供 project_id、location、cluster_name 和 timestamp;缺少这些信息时,应先补齐上下文。