GKE 多集群推理网关简介

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

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

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

本文档面向以下角色:

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

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

GKE 多集群推理网关的优势

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

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

限制

GKE 多集群推理网关具有以下限制:

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

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

关键组件

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

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

GKE 多集群推理网关的运作方式

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

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

后续步骤