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

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

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

小夜