Dynamo Router 啓動器:拉起 Dynamo 路由並做端點冒煙驗證

前言

在 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,已覈實能力包括:

  1. 建立路由基線:本地用 python3 -m dynamo.frontend 指定 --router-mode;在 Kubernetes 上對照 recipe 的 deploy.yaml 定位前端服務,未部署時先走 recipe 啓動流程。
  2. 修補路由模式:支持 round-robin、kv、least-loaded、device-aware-weighted、direct、random;K8s 側通過 DYN_ROUTER_MODE 等環境變量切換,KV 場景可設置 DYN_ROUTER_USE_KV_EVENTS=false 進入近似模式。
  3. 端點冒煙測試:通過 scripts/check_router_health.py 校驗 /v1/models,並在能發現模型時發起一次 /v1/chat/completions 請求。
  4. 輸出契約:彙總所選模式、本地命令或 K8s env 變更、前端 URL、冒煙結果、近似 KV 等限制,並提示後續基準或排障 Skill。
  5. 故障對照表:針對空模型列表、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

羽毛球分组比赛记分
小程序二维码

欢迎使用《羽毛球分组比赛记分》微信小程序

小夜