在 K8s 上跑大模型推理,为什么越来越多人选了 KServe?

------一个 CNCF 孵化项目的深度观察

你的团队是不是也经历过这个阶段:第一个模型上线,写个 FastAPI 套个 Docker,半天搞定;第五个模型上线,开始复制粘贴改 YAML;等到第二十个模型、三个框架、两种 GPU 同时在线时,没人说得清哪个版本在跑、流量该怎么切、半夜扩容靠什么触发。

模型越训越便宜,服务却越跑越乱------这是几乎所有 AI 团队的共同窘境。而 KServe 想解决的,正是这件事。

先搞清楚:KServe 不跑模型

很多人第一次接触 KServe 时会拿它和 vLLM 比性能,这其实是个误会。vLLM、Triton 这些引擎负责在 GPU 上真正跑模型,KServe 负责的是模型之外的一切:版本怎么管、流量怎么切、副本怎么扩、出了问题怎么回滚。

打个比方:vLLM 是发动机,KServe 是整辆车的底盘、变速箱和仪表盘。发动机决定了你能跑多快,底盘决定了你跑多远不散架。

它的核心抽象叫 InferenceService------一个 Kubernetes 自定义资源。你只需要在 YAML 里声明三件事:模型在哪(S3、HuggingFace、OCI 镜像都行)、用什么框架跑(TensorFlow、PyTorch、sklearn、XGBoost、ONNX......十几种内置运行时)、要多少资源。剩下的创建工作负载、配路由、接监控,全部由控制器自动完成。

对已经用惯了 Kubernetes 的团队来说,这意味着模型第一次成了"一等公民":GitOps 流程直接复用,改一行配置走评审合并,回滚就是 revert。这在以前是想都不敢想的事。

出身不一般,成长也很快

KServe 的前身是 Kubeflow 旗下的 KFServing,2019 年由 Google、IBM、Bloomberg、NVIDIA、Seldon 五家联合发起。2021 年从 Kubeflow 独立更名,2025 年 9 月被 CNCF 直接以孵化级接纳------注意,是跳过了沙箱阶段直接进孵化,这在 CNCF 历史上并不常见,相当于官方盖章"这项目已经足够成熟"。

现在的成绩单也拿得出手:GitHub 上 6000 多颗星,一年新增贡献者涨了 47%,600 多家组织在贡献代码。

生产环境用户在用它的名单里,有 Bloomberg(支撑终端的 AI 推理平台)、Netflix、Naver、SAP、AT&T,还有 Red Hat------OpenShift AI 的模型服务能力就是直接构建在 KServe 之上的。

大模型时代,它做对了什么

传统 ML 推理和大模型推理是两个物种。前者是"来一个请求算一个结果",后者是流式吐 token、带着庞大的 KV 缓存、Prefill 和 Decode 两个阶段对硬件的诉求完全不同。很多平台把 LLM 当普通 HTTP 服务来管,结果就是路由不准、扩缩容也不准。

KServe 的应对是从 v0.15 开始的一系列大动作,到 2026 年已经形成了一套完整的组合拳:

专用 CRD:LLMInferenceService。 专门为 LLM 设计的部署资源,原生暴露 OpenAI 兼容接口,你的 OpenAI SDK、LangChain 代码零改动就能接进来。v0.18 起还支持 Responses API,v0.20 加上了 Anthropic Messages API。

默认绑定 vLLM。 PagedAttention、连续批处理这些 vLLM 的看家本领开箱即用。更妙的是 HuggingFace 运行时会自动判断:vLLM 支持的模型走 vLLM,不支持的自动回退标准后端,你不用操心。

llm-d 分布式调度。 这是 2026 年最值得关注的部分。由 Red Hat、Google、IBM、CoreWeave、NVIDIA 联合发起的 llm-d 项目,能把计算密集的 Prefill 和延迟敏感的 Decode 拆到不同 GPU 池上跑,再按 KV 缓存命中率智能路由请求。KServe 管生命周期,llm-d 管调度,分工清晰。

Envoy AI Gateway 流量治理。 LLM 需要按 token 限流而不是按请求,需要按请求体里的模型名路由------这些传统网关干不了的活,由集成的 Envoy AI Gateway 补上。

两个最实用的能力:扩缩容和灰度发布

自动扩缩容这块,KServe 自己不造轮子,而是对接了四种机制,但选错了会很痛苦:

  • 按 CPU/内存扩缩的 HPA,对 GPU 推理基本无效------满载和空载的 vLLM 在 CPU 指标上几乎没差别;
  • Knative 的 KPA 支持缩容到零,适合波动大的小模型;
  • LLM 场景的正解是 KEDA:盯着 vLLM 的队列深度、KV 缓存利用率这些真实负载信号来扩容,而不是看 CPU。

一个血泪经验:大模型缩容到零再拉起来,光加载权重就要几十秒甚至几分钟。面向用户的端点,老老实实留至少一个热副本,把缩到零留给批处理任务。

灰度发布 则是 KServe 相对"裸 vLLM Deployment"最直观的价值。改一个 trafficPercent 字段,新版本先承接 10% 流量,验证没问题再全量------整个过程就是改 YAML、提 PR、合并,回滚就是改回去。v0.20 还把这套能力补齐到了不依赖 Knative 的 Standard 模式,LLMInferenceService 也有了专属的流量切分 API。

泼点冷水:什么时候不该用它

KServe 不是银弹,有几个坑要先想清楚。

如果你只有一两个模型要上线,别用它。 直接 vllm serve 或者裸 Deployment 半天搞定的事情,没必要引入控制器、网关、证书管理这一整套东西。平台层的投入,要到模型和团队数量上来之后才开始回本------经验数字是十个模型以上。

运维复杂度是真实存在的。 完整形态涉及 cert-manager、Gateway API、KEDA,可选的还有 Knative、Istio、llm-d,版本之间还有严格的兼容矩阵。没有平台工程团队的小组织,第一次装配上手要以"天"为单位计算。

LLMInferenceService 还是个 alpha 版本的 API。 迭代非常快,几乎每个小版本都有调整。把它接进你的自动化系统时,要预留跟进的预算。

另外值得留意的一个信号:曾经主打"单机混部数千模型"的 ModelMesh 方案,仓库已经在 2026 年 4 月正式归档。社区的方向很明确------Standard 模式是默认,Knative 只在确实需要缩容到零时才引入。存量用户要规划迁移了。

选型的一句话总结

和同类方案比,KServe 的位置大致是这样:Seldon Core 的推理流水线和模型监控更成熟,BentoML 的 Python 开发者体验更好,Ray Serve 的组合灵活性更强------但论 Kubernetes 原生程度、多框架覆盖、LLM 专项能力和中立治理这四样加起来,KServe 目前是综合分最高的选择。

CNCF 孵化项目的身份也意味着它不会被某一家厂商绑架。

决策可以简化成三个问题:你们已经在用 K8s 了吗?模型多到 YAML 开始失控了吗?需要灰度、弹性、多租户这些平台能力吗?三个都是"是",那 KServe 值得你认真评估;如果只是想让一两个模型尽快跑起来,别过度设计,先把 vLLM 跑起来再说。

毕竟工具的价值,从来不在工具本身,而在于它能不能让你的团队少写 YAML、多睡安稳觉。


项目地址:github.com/kserve/kserve | 官方文档:kserve.github.io

参考资料

官方渠道

项目治理与生态

技术深度与实践

竞品对比