Gateway 模式
vllm-sr serve 做两个选择:gateway 模式,即客户端流量从哪里进入;以及目标,即整套服务 在哪里运行。
| 模式 | 客户端流量进入 | 适用场景 |
|---|---|---|
standalone(默认) | Router 本身,它在配置的 listeners 上提供 OpenAI 兼容接口 | 单机、开发、边缘、大多数自托管 |
extproc | Router 前面的基于 Envoy 的网关,Router 提供 ext_proc | 需要限流、mTLS、高级路由匹配等 Envoy 能力,或接入你已有的网关 |
| 目标 | standalone | extproc |
|---|---|---|
docker(默认) | Router 容器服务 listener,没有 Envoy 容器 | CLI 启动的 Envoy 容器位于 Router 之前,与以前的版本一致 |
kubernetes | Router Pod 服务 listener,由 Service 暴露 | Router 为你的 Envoy Gateway、Envoy AI Gateway、Istio 或 KServe 提供 ext_proc |
vllm-sr serve # standalone,docker
vllm-sr serve --gateway extproc # Envoy 在前,docker
vllm-sr serve --target kubernetes --config config.yaml
两种模式运行同一个路由核心,因此同一个请求在两种模式下得到相同的决策、相同的上游请求和相同的响应变换。
设计文档列出了少数有意为之的差异,例如只有 Envoy 才会添加的
x-envoy-* header。
升级
以前的版本总是在 Router 前面放 Envoy。现在默认是 standalone;vllm-sr serve --gateway extproc 会完全恢复以前的部署。
参见发布说明。