前言¶
在 NVIDIA Dynamo 上做推理路由時,常見卡點不在「選哪種策略」,而在三件事是否對齊:前端是否按期望的 router 模式啓動、Kubernetes 裏 env 是否改對、以及 /v1/models 與 chat 端點是否真的可用。手工拼命令、改 deploy.yaml、再 curl 試探,容易漏掉 worker 未註冊或 KV 事件未發佈這類前置條件。
下面介紹 SkillHub 上的 Dynamo Router 啓動器(@org-02qudk26/dynamo-router-starter)。它把「建立基線 → 按需切 KV/負載策略 → 跑冒煙檢查」寫成 Agent 可執行的流程,並附帶健康檢查腳本與模式對照表,便於在本地 CLI 與 K8s recipe 兩種路徑下複用。
這是什麼¶
Dynamo Router 啓動器 是一條面向運維與推理平臺開發的 Agent Skill(版本 1.0.0,SkillHub 分類 it-ops-security,標籤 requires_api_key=false)。Skill 包內說明由 NVIDIA 貢獻(Apache-2.0),在 SkillHub 由 智雨科技 發佈(來源 enterprise)。
一句話定位:啓動或修補 Dynamo router 模式,並運行 router 端點冒煙檢查,覆蓋 round-robin、KV-aware、least-loaded、device-aware 等路由設置;完整 recipe 部署應使用 dynamo-recipe-runner,失敗診斷應使用 dynamo-troubleshoot。
官方入口:
- API 座標:
https://api.skillhub.cn/org-02qudk26/dynamo-router-starter - SkillHub 頁面:
https://www.skillhub.cn/skills/org-02qudk26/dynamo-router-starter
核心功能¶
依據 Skill 包內 SKILL.md 與 references/router-modes.md,已覈實能力包括:
- 建立路由基線:本地用
python3 -m dynamo.frontend指定--router-mode;在 Kubernetes 上對照 recipe 的deploy.yaml定位前端服務,未部署時先走 recipe 啓動流程。 - 修補路由模式:支持
round-robin、kv、least-loaded、device-aware-weighted、direct、random;K8s 側通過DYN_ROUTER_MODE等環境變量切換,KV 場景可設置DYN_ROUTER_USE_KV_EVENTS=false進入近似模式。 - 端點冒煙測試:通過
scripts/check_router_health.py校驗/v1/models,並在能發現模型時發起一次/v1/chat/completions請求。 - 輸出契約:彙總所選模式、本地命令或 K8s env 變更、前端 URL、冒煙結果、近似 KV 等限制,並提示後續基準或排障 Skill。
- 故障對照表:針對空模型列表、chat 超時、KV 掛起、端口轉發失敗等症狀給出下一步(含切換到
dynamo-troubleshoot)。
侷限性(Skill 原文):冒煙測試只做單次補全,不是吞吐/延遲基準,完整壓測應使用 dynamo-benchmark;無 worker KV 事件時 KV 模式會降級,本 Skill 只標記不自動修 worker 配置。
安裝與啓用¶
安裝 SkillHub CLI¶
若尚未安裝,可先檢查版本:
command -v skillhub && skillhub --version
未安裝時按 SkillHub 安裝文檔執行(完整安裝示例):
curl -fsSL https://skillhub-1388575217.cos.ap-guangzhou.myqcloud.com/install/install.sh | bash
說明見:https://skillhub.cn/install/skillhub.md。
安裝本 Skill¶
安裝時必須用 --dir 指向當前 Agent 的 skills 目錄,否則默認落在 ./skills/ 可能不會被識別:
skillhub install dynamo-router-starter --namespace org-02qudk26 --dir <你的 Agent skills 目錄>
常用路徑(來自 SkillHub 安裝文檔):
- Cursor:
~/.cursor/skills/ - Claude Code:
~/.claude/skills/ - Codex:
~/.codex/skills/或項目下的.agents/skills/
也可在對話中讓 AI 按 https://skillhub.cn/install/skillhub.md 安裝 @org-02qudk26/dynamo-router-starter。安裝後按所用客戶端要求刷新或重啓 Agent,使 Skill 生效。
運行環境前置條件¶
使用本 Skill 指導實際操作前,環境需滿足 Skill 內列出的前提:
- Python 3.10+,且可導入
dynamo(python3 -m dynamo.frontend --help可用)。 - Kubernetes 場景:已配置
kubectl,目標命名空間內已有 Dynamo recipe(或先用 recipe runner 部署)。 - 前端網絡可達(端口轉發或直接訪問),且至少一個 worker 已向前端註冊(
/v1/models非空)。
典型用法¶
1. 本地 round-robin 基線¶
先讓前端以最簡單模式監聽 8000 端口:
python3 -m dynamo.frontend --router-mode round-robin --http-port 8000
2. 切換到 KV 路由¶
本地 CLI:
python3 -m dynamo.frontend --router-mode kv --http-port 8000
Kubernetes 僅改前端 Deployment 的環境變量示例:
envs:
- name: DYN_ROUTER_MODE
value: kv
若 worker 未發佈 KV cache 事件,避免 router 空等:
envs:
- name: DYN_ROUTER_USE_KV_EVENTS
value: "false"
3. 冒煙檢查¶
在 Skill 安裝目錄下執行(或將腳本路徑換成你本地的 Skill 副本):
python3 scripts/check_router_health.py \
--base-url http://127.0.0.1:8000
支持 --retries、--timeout。本地 KV 前端後臺運行後一次性驗證的示例:
python3 -m dynamo.frontend --router-mode kv --http-port 8000 &
python3 scripts/check_router_health.py --base-url http://127.0.0.1:8000
Kubernetes 經端口轉發訪問前端時:
kubectl port-forward svc/qwen-vllm-disagg-frontend 8000:8000 -n dynamo-demo &
python3 scripts/check_router_health.py --base-url http://127.0.0.1:8000 --retries 3
在支持 agentskills.io run_script() 的 Agent 中,可等價調用:
run_script("scripts/check_router_health.py", args=["--base-url", "http://127.0.0.1:8000", "--retries", "3"])
4. 對比 round-robin 與 KV 時注意¶
Skill 要求對比時使用相同模型、worker、提示、併發與採樣;演示 KV 複用需重複前綴提示;除非有足夠樣本,結果應標註爲冒煙對比,不要從單次 chat 推斷吞吐提升。端點不健康時改用 dynamo-troubleshoot。
適用場景與注意¶
適合誰
- 已在用 Dynamo 做多 worker 推理路由,需要快速驗證某種
DYN_ROUTER_MODE是否生效的團隊。 - 在 K8s 上只改前端 env、不想手抄一整套 curl 檢查清單的 SRE / 平臺工程師。
- 希望 Agent 按固定輸出契約彙報「模式 + 修補項 + 冒煙結果」的自動化運維場景。
使用注意
- 本 Skill 不需要 API Key(SkillHub 標籤
requires_api_key=false),但運行 Dynamo 本身仍依賴你集羣與 Python 環境中的dynamo與模型 worker。 - SkillHub 頁面簡介在「least-loaded 或」處被截斷;完整模式列表以 Skill 內文檔爲準,包含 device-aware-weighted 等。
- 冒煙通過只代表端點可用;性能數字請走
dynamo-benchmark,性能報告說明見 Skill 包內BENCHMARK.md。 - 與同類 Skill 分工:recipe 全量部署用 dynamo-recipe-runner,異常排障用 dynamo-troubleshoot。
結尾¶
Dynamo Router 啓動器把 Dynamo 路由的啓動、K8s env 修補和 OpenAI 兼容端點冒煙檢查收斂成可復現步驟,並明確與 recipe 部署、基準、排障 Skill 的邊界。若你正在 SkillHub 上篩選 it-ops 類推理運維能力,可從官方頁面安裝試用:
https://www.skillhub.cn/skills/org-02qudk26/dynamo-router-starter