Agent Skills
返回列表
🔒

Dynamo 故障排查

IT 运维与安全 更新于 2026.08.29

将以下提示词粘贴到你的 AI 对话框中:

请根据 https://skillhub.cn/install/skillhub.md,安装 @org-02qudk26/dynamo-troubleshoot。

技能介绍

要解决什么问题

在 Kubernetes 上跑 Dynamo 时,失败往往散落在 事件、PVC、model-download 任务、DynamoGraphDeployment 状态 和 worker 日志里。人工排查容易在 secret、镜像和 GPU 调度之间来回跳,还可能在未就绪时就去跑基准或改大量配置。

本技能把一次失败收敛成:问题类别、已掌握证据、最强信号 和 可执行下一步,并强调从只读证据出发、一次只修一层。

技能如何工作

  1. 收集只读调试包:通过 scripts/collect_dynamo_debug_bundle.py 拉取 pod、事件、任务、PVC 与 CR 状态;可按 --namespace、--deployment-name 缩小范围。明确不收集 Kubernetes secret,也不打印 Hugging Face token。
  2. 归类失败:对照 references/failure-decision-tree.md,归入单一主桶,例如 cluster/platform、namespace/secret、model cache/PVC/download、image pull/runtime、GPU scheduling、operator/reconciliation、frontend/router、worker/backend、endpoint/API、benchmark/perf 等。
  3. 自顶向下检查:命名空间与 HF secret → PVC 与 model-download → DynamoGraphDeployment → pod describe 与日志 → 前端与端口转发 → /v1/models → /v1/chat/completions → 端点冒烟通过后再谈基准任务。
  4. 输出契约:返回可能原因、精确修补或命令建议、已排除项,以及是否可安全继续部署或基准;修复建议优先 最小可逆(补命名空间/secret、storageClass、镜像 tag、必要时调整 GPU 或 KV router 模式等),每次改动后重跑就绪检查。

边界与注意

  • 只读:技能本身不修改集群;返回的是建议命令,由操作员执行。
  • 鉴权类失败可能仍需你在侧检查 HF secret 与 RBAC;kubectl Forbidden 通常要先申请命名空间只读 RoleBinding。
  • 超大命名空间下包体会变大,应用 --deployment-name 限定部署。
  • disagg 传输 不在本技能验证范围,需用 dynamo-interconnect-check。

使用场景

  • DynamoGraphDeployment 长期 NotReady,需要用只读包对照事件与 CR 状态定位是 operator 还是镜像/GPU 问题
  • model-download 任务一直 Pending,要按决策树区分 PVC 未绑定还是命名空间里缺少 HF secret
  • worker 处于 CrashLoopBackOff,要在不改集群的前提下从 describe 与容器日志归纳镜像/runtime 或 GPU 可分配量原因
  • /chat/completions 冒烟失败但前端已起来,需要按自顶向下顺序确认 /v1/models 与路由/worker 哪一层先断

适合人员

  • 负责 dynamo-platform operator 与命名空间 RBAC 的平台 SRE,需要在 Forbidden 时给出只读 RoleBinding 申请路径
  • 在 GPU 节点上发布新模型 recipe 的 ML 基础设施工程师,部署失败时要分层修补 storageClass、镜像 tag 与 GPU 请求
  • 值班工程师接手用户报障,要求先收集 `--deployment-name` 限定范围的调试包再决定能否继续跑基准任务
  • 做推理服务上线的后端负责人,要在端点 `/v1/models` 通过之前避免对整库做大规模配置回滚