您可以在 Google Kubernetes Engine (GKE) 上为严苛的 AI 推理工作负载实现弹性跨区域高可用性,从而高效可靠地访问不同 Cloud de Confiance 区域的加速器容量。此解决方案使用 GKE 多集群推理网关和 GKE 自动扩缩功能,使您的工作负载能够访问并扩缩各个区域的加速器容量。这种方法可提高 AI 应用的资源可用性、可伸缩性和弹性。本文档介绍了弹性跨区域高可用性的优势、关键组件以及总体运作机制。
在阅读本文档之前,您应该先熟悉以下内容:
- GKE 多集群推理网关
- 高级负载均衡选项的首选后端
- GKE 集群自动扩缩器
- 基于指标的 Pod 自动扩缩
本文档适用于以下角色:
- 有兴趣使用 Kubernetes 处理 AI/机器学习工作负载的机器学习 (ML) 工程师、平台管理员和运维人员以及数据和 AI 专家
- 与 Kubernetes 网络交互的云架构师或网络专家
如需详细了解我们在Cloud de Confiance 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和任务。
弹性跨区域高可用性的优势
弹性跨区域高可用性在管理 AI/机器学习推理工作负载方面具有多项关键优势,包括:
- 更高的容量和可伸缩性:通过汇集不同区域中多个集群的 GPU 或 TPU 资源,克服单区域加速器短缺问题。您还可以使用不同的加速器类型来进一步扩大容量池。借助此方法,AI 推理工作负载可以突破任何单个区域或加速器类型的容量限制,自动利用您机群中的可用资源,而无需考虑区域。
- 自动溢出,提高可靠性和可用性:网关会智能地路由流量,优先考虑首选区域或集群。当某个位置达到容量上限时,流量会自动溢出到具有可用资源的其他位置。这种方法与多区域部署相结合,可提高高可用性和容错能力,因为系统可以绕过出现问题的集群或区域。
- 经过 AI 优化的流量分配:使用基于利用率的负载均衡,并采用自定义的 AI 专用指标,例如键值对缓存使用情况。此设置可确保做出全局优化的路由决策。经过 AI 优化的流量分配会将请求发送到能够处理这些请求的后端,从而最大限度地提升性能,并有助于防止多集群推理舰队中的后端过载。
弹性跨区域高可用性的工作原理
借助 GKE 上的弹性跨区域高可用性,AI 推理工作负载可以自动使用多个 Cloud de Confiance 区域的加速器容量(例如 GPU 或 TPU)。当主区域所需的资源遇到容量限制时,此解决方案会智能地将流量路由到具有可用容量的其他区域,并根据您定义的偏好设置扩缩工作负载。
下文介绍了弹性跨区域高可用性的关键组件以及它们如何协同工作:
- 多集群推理 Gateway:推理应用部署在不同区域中的多个 GKE 集群中。这些集群作为 GKE 舰队的一部分进行管理。GKE 多集群推理网关 (MCG) 配置了内部负载平衡器,可为推理请求提供单个专用端点。此网关可感知舰队中所有集群的服务部署。
- 基于利用率的均衡:负载均衡器不会使用基本请求速率,而是会根据模型服务器报告的实时自定义利用率指标来分配流量。对于 AI 推理,这通常是一个指标,例如 KV 缓存利用率,它反映了服务器上的实际负载。
- 位置和资源偏好设置:您可以在创建集群期间配置允许哪些区域或可用区运行 AI 推理工作负载,还可以使用以下方式指定偏好顺序:
GCPBackendPolicy:此政策附加到网关,可让您定义首选后端。您可以指定负载均衡器应优先将流量发送到哪些区域(即集群)。此政策通常与您预留容量的位置或延迟时间要求较低的位置相符。- 自定义计算类(可选,如果您使用节点池自动创建功能):在每个单独的 GKE 集群中,您可以使用自定义 ComputeClass 对象来定义首选节点类型,包括机器类型(例如
a3-highgpu-8g)、容量类型(例如预留型、按需型和抢占型),甚至包括该区域内的首选可用区。
- 动态伸缩和流量路由:流量按照以下流程进行伸缩和路由:
- 传入请求到达多集群 Ingress 网关的内部负载平衡器。
- 负载均衡器在
GCPBackendPolicy的引导下,首先将流量发送到首选区域中的后端。 - 流量会在区域内和后端之间根据自定义利用率指标进行分配。
- 每个集群中的 Horizontal-Pod-Autoscaler (HPA) 会根据相同的利用率指标扩缩模型服务器 Pod 的数量
- 在自定义 ComputeClass 的指导下,GKE 集群自动伸缩器和节点自动预配功能会添加或移除首选类型和可用区的节点,以满足 Pod 的伸缩需求。
- 弹性跨区域高可用性:如果首选区域中的模型服务器已完全利用(即没有额外的可用容量),负载均衡器会自动将流量溢出到其他已配置区域中具有可用容量的集群。然后,HPA 和集群自动扩缩器会根据需要在这些备用区域中扩容资源。
后续步骤
- 如需了解如何在 Configure elastic cross-region high availability(配置弹性跨区域高可用性)中部署弹性跨区域高可用性解决方案,请参阅相关文档。