多集群 GKE Inference Gateway 简介

多集群 Google Kubernetes Engine (GKE) 推理网关可在多个 GKE 集群之间对 AI/机器学习推理工作负载进行负载均衡。它集成了 GKE 多集群网关,用于跨集群流量路由,并集成了推理网关,用于 AI/机器学习模型部署。这种集成提高了部署的可伸缩性和高可用性。本文档介绍了网关的核心概念和优势。

如需详细了解如何部署多集群 GKE 推理网关,请参阅设置 GKE 多集群 推理网关

如需理解本文档,您必须熟悉以下内容:

本文档面向以下角色:

  • 有兴趣使用 Kubernetes 容器编排功能处理 AI/机器学习工作负载的机器学习 (ML) 工程师、平台管理员和运维人员以及数据和 AI 专家。
  • 与 Kubernetes 网络交互的云架构师或网络专家。

如需详细了解我们在 Google Cloud 内容中提及的常见角色和示例任务,请参阅常见的 GKE Enterprise 用户角色和 任务

GKE 多集群推理网关的优势

多集群 GKE Inference Gateway 在管理 AI/机器学习推理工作负载方面具有多项优势,包括:

  • 通过跨多个 GKE 集群(甚至跨不同地理区域)进行智能负载均衡,增强高可用性和容错能力。您的推理工作负载保持可用状态,如果集群或区域遇到问题,系统会自动重新路由请求,从而最大限度地减少停机时间。
  • 通过汇集来自各个集群的 GPU 和 TPU 资源来处理不断增长的需求,从而提高可伸缩性并优化资源使用率。这种汇集使您的工作负载能够超出单个集群的容量,并高效利用整个舰队中的可用资源。
  • 通过全局优化的路由最大限度地提高性能。网关使用高级指标(例如来自所有集群的键值对 (KV) 缓存使用情况)做出高效的路由决策。这种方法有助于确保请求发送到最适合处理它们的集群,从而最大限度地提高 AI/机器学习推理舰队的整体性能。

限制

多集群 GKE Inference Gateway 具有以下限制:

  • Model Armor 集成:多集群 GKE 推理网关不支持 Model Armor 集成。

  • Envoy 代理延迟时间报告:Envoy 代理仅报告成功 (2xx) 请求的查询 延迟时间。它会忽略错误和超时。这种行为可能会导致全局服务器负载平衡器 (GSLB) 低估失败后端的真实负载,从而可能将更多流量定向到已过载的服务。为缓解此问题,请配置更大的请求超时。例如,建议使用值 600s

  • 网络端点组 (NEG) 限制:每个 Google Cloud 后端服务最多有 50 个 NEG。使用多端口 InferencePool 时,每个可用区中的每个端口都会创建一个专用 NEG。例如,在典型的区域级集群(三个可用区)中,具有八个端口的 InferencePool 会生成 24 个 NEG。因此,在达到 50 个 NEG 的限制之前,多集群网关最多只能汇总来自两个集群的此类 InferencePool(两个集群 × 24 个 NEG = 48 个 NEG)。

关键组件

多集群 GKE Inference Gateway 使用多个 Kubernetes 自定义资源来管理推理工作负载和流量路由:

  • InferencePool:将目标 集群中相同的模型服务器后端分组。此资源简化了模型服务实例的管理和伸缩。单集群和多集群部署均支持多端口 InferencePool 对象。
  • InferenceObjective:定义 InferencePool 中特定模型的路由优先级。此路由有助于确保某些模型根据您的要求获得流量偏好。
  • GCPInferencePoolImport:通过在配置集群中使用 HTTPRoute,使您的模型后端可用于路由配置。当您从目标集群导出 InferencePool 时,系统会在配置集群中自动创建此资源。配置集群充当多集群环境的中央控制点。
  • GCPBackendPolicy:自定义如何将流量负载均衡到后端。例如,您可以根据自定义指标启用负载均衡,或设置每个端点的在途请求数上限,以保护模型服务器。
  • AutoscalingMetric:定义自定义指标(例如 vllm:kv_cache_usage_perc),以从模型服务器导出。然后,您可以在 GCPBackendPolicy 中使用这些指标做出更智能的负载均衡决策,并优化性能和资源利用率。

多集群 GKE Inference Gateway 的工作原理

多集群 GKE 推理网关管理和路由部署在多个 GKE 集群中的 AI/机器学习模型的流量。具体运作方式如下:

  • 集中式流量管理 :专用 配置集群 定义流量路由规则。配置集群充当多集群环境的中央控制点。当您为舰队启用多集群 Ingress 时,您需要将一个 GKE 集群指定为配置集群。借助这种集中式方法,您可以从一个位置管理如何将请求定向到整个 GKE 集群舰队中的模型。
  • 灵活的模型部署 :实际的 AI/机器学习模型在单独的 目标集群 中运行。这种分离让您可以将模型部署在最合理的位置(例如,更靠近数据或具有特定硬件的集群)。
  • 轻松集成模型 :在目标集群中部署模型时,您可以使用 InferencePool 将其服务实例分组。导出此 InferencePool 会自动使其在配置集群中可用于路由。
  • 智能负载均衡 :网关不仅分配流量,还会做出智能路由决策。通过将其配置为使用各种信号(包括来自模型服务器的自定义指标),网关有助于确保将传入请求发送到最适合的集群或模型实例,从而最大限度地提高性能和资源利用率。例如,您可以根据键值对 (KV) 缓存使用情况等指标,将请求路由到推理容量最充足的集群。

后续步骤