第 3 章 leader Worker Set Operator
3.1. leader Worker Set Operator 概述 复制链接链接已复制到粘贴板!
将大型语言模型(LLM)用于 AI/ML 推测通常需要大量的计算资源,而且工作负载通常必须在多个节点之间进行分片。这可使部署变得复杂,对扩展、从故障恢复以及有效的 pod 放置方面造成挑战。
Leader Worker Set Operator 通过将一组 pod 视为单个、协调的单元,简化了这些多节点部署。它管理组中每个 pod 的生命周期,将整个组扩展在一起,并在组级别执行更新和故障恢复以确保一致性。
3.1.1. 关于 Leader Worker Set Operator 复制链接链接已复制到粘贴板!
Leader Worker Set Operator 基于 LeaderWorkerSet 开源项目。LeaderWorkerSet
是一个自定义 Kubernetes API,可用于将一组 pod 作为一个单元来部署。这对人工智能(AI)和机器学习(ML)的工作负载很有用,其中大型语言模型(LLM)在多个节点上分片。
使用 LeaderWorkerSet
API 时,pod 被分组到一个领导和多个 worker 的单元中,它们都作为单个实体一起管理。组中的每个 pod 都有唯一的 pod 身份。组中的 Pod 会并行创建,并共享相同的生命周期阶段。推出部署、滚动更新和 pod 故障重启作为组执行。
在 LeaderWorkerSet
配置中,您可以定义组的大小以及组副本数。如果需要,您可以为 leader 和 worker pod 定义单独的模板,允许角色特定的自定义。您还可以配置拓扑感知放置,以便同一组中的 pod 位于同一个拓扑中。
在安装 Leader Worker Set Operator 之前,您必须为 Red Hat OpenShift 安装 cert-manager Operator,因为它需要配置服务并管理指标集合。
默认情况下,OpenShift Container Platform 通过 Prometheus 提供 Leader Worker Set Operator 的监控。
3.1.1.1. LeaderWorkerSet 架构 复制链接链接已复制到粘贴板!
下图显示了 LeaderWorkerSet
API 如何将 pod 组组织到一个单元中,一个 pod 作为领导,其余 pod 作为 worker,以协调分布式工作负载:
图 3.1. 领导 worker 设置架构
LeaderWorkerSet
API 使用领导有状态集来管理 pod 组的部署和生命周期。对于定义的每个副本,都会创建一个 leader-worker 组。
每个 leader-worker 组包含一个领导 pod 和 worker 有状态集。worker 有状态集由领导 pod 所有,并管理与该领导 pod 关联的 worker pod 集合。指定的大小定义每个 leader-worker 组中的 pod 总数,其中领导 pod 包含在该数字中。