Skill 寫法圖鑑

aks-gpu-inference

Microsoft | 除錯與調查 | 原文 | MIT

用唯讀證據診斷 AKS GPU 和 KAITO 的 Day-2 事故

中文翻譯

---
name: aks-gpu-inference
description: "用感知 profile 的唯讀證據診斷 Day-2 的 AKS GPU 和 KAITO 事故。WHEN: 'Insufficient nvidia.com/gpu'、GPU pod 卡在 Pending、載入模型時 OOM、DCGM/VRAM、KAITO Workspace 沒 ready,或 GPU autoscaling。不要用在:初始設定(airunway-aks-setup)、非 GPU 事故(aks-troubleshooting)、單獨的 VM 配額(azure-quotas),或一般成本問題(選用 azure-cost plugin 的 cost-analysis 或 cost-optimization)。"
license: MIT
metadata:
  author: Microsoft
  version: "1.1.1"
---

# AKS GPU 推論 Day-2

## 速查

| 屬性 | 值 |
|---|---|
| 適用情境 | AKS GPU/KAITO 故障 |
| 證據 | 綁定的目標、events/status、`gpuProfile`、DCGM |

## 何時使用這個 Skill

用在排程、VRAM/OOM、KAITO 就緒狀態和工作負載擴縮。排除的情境
依上面所述導向其他 skill。

## MCP 工具

用 host 提供的合適 Azure 讀取工具,或 reference 裡的唯讀查詢。

## Host 能力檢查關卡

執行任何 reference 裡的 pipeline 之前,先確認 host 有授權
對綁定目標執行所需的 shell 和 `kubectl`/`az` 指令。
以檔案為基礎的蒐集,還需要核准的 artifact 儲存位置,以及能存取
它用到的所有附帶檔案。光有一個受管控的 Azure CLI 工具,並不代表
具備這些能力。只有在 host 讀取工具公告的 schema 能提供所需證據時,
才可以用同等的 host 讀取取代指令。

如果無法執行或被禁止,就直說,然後分析使用者提供或
已遮蔽的 events、status、log 和 metrics,或給操作人員一份限定範圍的
蒐集計畫。說明哪些讀取沒有執行,需要缺少的證據才能下的
結論一律標示為未確認。絕對不要透過 Azure MCP 去跑 `kubectl`,也不要
繞過 host 的政策。下面的授權要求依然適用。

## 流程

1. 綁定 subscription、cluster、kube context、pool 和受影響的資源。
2. 擷取確切的 events/status 和觀察到的 `gpuProfile`,並說明跑了哪些讀取。
3. 依情況導向 [scheduling](references/gpu-scheduling.md)、
   [observability](references/gpu-observability.md)、
   [KAITO](references/kaito-workspaces.md) 或
   [scaling](references/gpu-cost-and-scaling.md)。
4. 把 container/host 的 OOM 和裝置配置失敗分開看。遇到 `OOMKilled` 時,
   要對照 container 的記憶體 limit/用量和 node 狀態。對於
   Managed+Install 的裝置記憶體證據,使用 port 19400 的 exporter 和
   事故時段的 `FB_USED`/`FB_FREE`;容量估算表不能當作成因的證據。
5. KAITO 沒 ready 時,要警告刪除 Workspace 並不會移除它的 GPU pool;
   清理是另一件事,需要明確授權。
6. 回報證據、信心程度、缺少的證據,以及該交給誰處理。

在擴縮、cordon/drain、刪除、
啟用 add-on 或更動監控設定之前,都要有明確授權。

## 錯誤處理

| 狀況 | 處理 |
|---|---|
| 證據缺漏或互相矛盾 | 標示為未確認;向負責人要求提供/讀取 |
| 未知的 profile | 保留證據;不要開出整套修復方案 |
| 需要變更 | 另外提出,等授權 |

英文原文

---
name: aks-gpu-inference
description: "Diagnose Day-2 AKS GPU and KAITO incidents using profile-aware, read-only evidence. WHEN: 'Insufficient nvidia.com/gpu', GPU pod Pending, model-load OOM, DCGM/VRAM, KAITO Workspace not ready, or GPU autoscaling. DO NOT USE FOR: setup (airunway-aks-setup), non-GPU incidents (aks-troubleshooting), standalone VM quota (azure-quotas), or generic cost (cost-analysis or cost-optimization from the optional azure-cost plugin)."
license: MIT
metadata:
  author: Microsoft
  version: "1.1.1"
---

# AKS GPU Inference Day-2

## Quick Reference

| Property | Value |
|---|---|
| Best for | AKS GPU/KAITO failures |
| Evidence | Bound target, events/status, `gpuProfile`, DCGM |

## When to Use This Skill

Use for scheduling, VRAM/OOM, KAITO readiness, and workload scaling. Route
exclusions as described above.

## MCP Tools

Use a fitting host-advertised Azure read or the references' read-only queries.

## Host Capability Gate

Before executing any referenced pipeline, verify that the host authorizes
the required shell and `kubectl`/`az` commands against the bound target.
File-backed collection also requires approved artifact storage and access to
any bundled files it uses. A governed Azure CLI tool alone does not establish
these capabilities. Equivalent host reads may replace commands only where
their advertised schemas provide the required evidence.

If execution is unavailable or prohibited, say so and analyze supplied or
redacted events, status, logs, and metrics, or give the operator a scoped
collection plan. State which reads did not run and leave conclusions requiring
missing evidence unconfirmed. Never route `kubectl` through Azure MCP or
bypass host policy. The authorization requirements below still apply.

## Workflow

1. Bind subscription, cluster, kube context, pool, and affected resource.
2. Capture exact events/status and observed `gpuProfile`; state which reads ran.
3. Route to [scheduling](references/gpu-scheduling.md),
   [observability](references/gpu-observability.md),
   [KAITO](references/kaito-workspaces.md), or
   [scaling](references/gpu-cost-and-scaling.md).
4. Separate container/host OOM from device-allocation failures. For `OOMKilled`,
   correlate container memory limits/usage and node conditions. For
   Managed+Install device-memory evidence, use the exporter on port 19400 and
   incident-window `FB_USED`/`FB_FREE`; sizing tables do not establish a cause.
5. For KAITO not-ready, warn that Workspace deletion leaves its GPU pools;
   cleanup is separate and needs explicit authorization.
6. Report evidence, confidence, missing evidence, and owner handoff.

Require explicit authorization before scaling, cordon/drain, deletion,
add-on enablement, or monitoring mutation.

## Error Handling

| Condition | Response |
|---|---|
| Missing/contradictory evidence | Mark unconfirmed; request the owner/read |
| Unknown profile | Preserve evidence; do not prescribe stack repair |
| Mutation required | Propose separately and wait for authorization |