认识 Noctaya:让 Kubernetes 上的 LLM 服务真正按需启停

GitHub:noctaya/noctaya: Kubernetes-native control plane for vendor-neutral, scale-to-zero LLM serving

部署一个大模型并不难,困难的是:如何在保持服务可用的同时,避免大量低频模型持续占用昂贵的 GPU 或 NPU。

长尾和突发型模型往往大部分时间处于空闲状态。将模型副本缩容到零可以释放加速器,但下一次请求需要依次经历 Pod 调度、镜像拉取、模型加载和就绪检查。如果缺少完整的冷启动机制,请求可能大量堆积,最终拖垮网关。

Noctaya 正是为了解决这一问题而设计的。

Noctaya 是一个轻量、可组合的 Kubernetes LLM 服务控制平面。应用团队通过 LLMService 描述模型和服务需求,平台团队通过可复用的 InferenceRuntime 定义运行时镜像、加速器资源、调度约束和健康检查。

Noctaya 负责协调:

  • 模型后端的 0 → 1 → N → 0 弹性伸缩
  • 稳定的 OpenAI 兼容访问入口
  • 有界的冷启动请求接入
  • 模型缓存和可选的预热任务
  • 基于就绪状态的流量转发与优雅下线
  • NVIDIA 和 Ascend 加速器配置
  • 基于 KEDA 的自动伸缩

Noctaya 不替代 vLLM、设备插件、KEDA、Volcano、HAMi、监控系统或更大型的 AI 平台。它只专注于 Kubernetes 层的模型生命周期管理,让这些组件保持独立,并能够与企业现有基础设施组合使用。

对用户而言,这意味着更高的加速器利用率和更可控的冷启动体验。对企业而言,这意味着可复用的服务标准、更少的厂商专属配置,以及更小、更清晰的运维边界。

Noctaya 目前处于 Alpha 阶段,主要面向内部、开发和测试环境。我们计划在 v0.4.0 中进一步完善生产能力,同时寻找首批用户、硬件验证伙伴和代码贡献者。

如果你的 Kubernetes 集群中也有大量不应该持续占用加速器的模型,欢迎试用 Noctaya,并与我们分享真实需求。