kubernetes-sigs/lws

LeaderWorkerSet: An API for deploying a group of pods as a unit of replication

是什么

LeaderWorkerSet (LWS) 和 DisaggregatedSet (DS) 是为更轻松地运行大规模 AI/ML 推理工作负载(尤其是需要在多个 GPU 或其他加速器上跨多个节点进行分片的场景)而设计的新 Kubernetes API。

  • LeaderWorkerSet 允许您将一组 Pod 视为一个单一的逻辑副本。每个组包含一个 leader Pod 和一组共享相同生命周期的 worker Pod。该组会获得一个唯一的索引(0–n),并可以一起调度(gang scheduling),确保整个集合落在同一拓扑结构上(例如,同一机架或节点池)。
  • DisaggregatedSet 基于 LWS 构建,用于处理更复杂的多阶段推理流水线(例如,在一组机器上执行预填充阶段,在另一组机器上执行解码阶段)。它协调多个 LWS 组,确保在滚动更新期间保持容量比例稳定,并处理所有角色的故障。

这两个 API 正与 llm-d 项目(CNCF 沙盒分布式推理服务堆栈)共同设计,因此与真实世界的推理框架紧密映射。


为什么对 AI/ML 至关重要

在生产环境中运行大型语言模型(LLM)通常意味着:

  1. 将模型跨多个 GPU 或 TPU 分片。
  2. 协调多个阶段(预填充、解码、后处理)——这些阶段可能在不同硬件上运行。
  3. 保持整个流水线的存活——如果任何 Pod 崩溃,推理请求可能失败。

标准 Kubernetes Deployments 将每个 Pod 独立处理,这使得难以保证分片模型的所有部分同时启动、停止和扩展。LWS 提供了一个 超级 Pod,其行为如同一个单一单元,而 DS 允许您以同步方式编排多个这样的超级 Pod。这降低了运维复杂性,并提高了高吞吐、低延迟推理服务的可靠性。


核心功能(LeaderWorkerSet)

功能 说明
作为单元的 Pod 组 一个副本由一个 leader 和 workers 组成,共享生命周期;它们并行创建,可一起滚动更新。
唯一的 Pod 身份 每个 Pod 获得一个索引(0–n),对模型分片逻辑非常有用。
群组调度(alpha) 组内所有 Pod 要么全部调度,要么一个都不调度,确保共置。
双模板 为 leader 和 workers 分别提供 Pod 模板,允许不同的资源规格。
多个组 可创建多个相同的副本;每个组是扩展和更新的单位。
扩展子资源 暴露 /scale 端点,使 Horizontal Pod Autoscaler (HPA) 可以调整组的数量。
组级别滚动更新 更新按组进行,确保滚动过程中整体一致性。
拓扑感知放置 可选择强制组内 Pod 放置在同一节点、区域或其他拓扑结构中。
全或无重启 如果组内任一 Pod 失败,整个组将被重建,简化故障处理。

高级功能(DisaggregatedSet)

功能 说明
解耦架构 支持不同角色(如预填充、解码)在不同硬件集群上运行的流水线。
协调的 N 维滚动更新 同时更新多个角色(2–10 个),同时保持所需的容量比例。
统一生命周期 将多个 LWS 对象视为一个逻辑单元,用于扩展、更新和删除。
自动服务编排 为每个角色自动创建无头服务,使 Pod 可以相互发现而无需额外配置。
高级故障处理 协调所有角色的驱逐和重启,以保持整体流水线健康。

谁会使用它

  • ML 平台团队:构建需要在多个 GPU 上分片的大规模 LLM 生产推理服务的团队。
  • 云提供商:希望与 Kubernetes 更紧密集成的托管推理堆栈的提供商。
  • 研究团队:运行多节点模型服务实验,需要可复现、版本化部署的研究组。

快速入门

  1. 安装 – 按照安装指南操作(需要 Kubernetes 1.34+)。项目提供 CRD 清单和运行在集群内的控制器。
  2. 定义 LeaderWorkerSet – 编写 YAML 文件,指定 leader Pod 模板、worker Pod 模板和期望的副本数。
  3. (可选)使用 DisaggregatedSet – 如果您的工作负载具有不同角色,创建一个引用多个 LWS 对象的 DS 对象。
  4. 扩展与监控 – 使用标准 kubectl scale 或 HPA 在 /scale 子资源上进行扩展;控制器负责群组调度和协调滚动更新。

社区与支持


TL;DR

LWS + DS 为 Kubernetes 提供了一种原生方式,用于部署和管理多 Pod、多节点推理工作负载(如分片 LLM 服务)。它们提供组级别生命周期、群组调度、扩展和协调滚动更新,使大规模 AI 推理在 Kubernetes 上更可靠、更易操作。

相关

  • 项目
  • 项目
  • Dispatch
  • 项目
  • 项目