Gateway API介绍

Gateway API是 Kubernetes 官方社区的流量管理标准,支持基于Ingress的南北向流量管理和基于Service Mesh的东西向流量管理,本文介绍其核心概念和南北向流量管理的方案。

核心概念

Gateway API采用了面向角色(Role-Oriented)的分层设计,将基础设施供给、集群运维和应用路由解耦。主要包含以下几类核心资源:

  • GatewayClass(基础设施层):类似IngressClass。定义了网关的控制器类型(ALB、Envoy Gateway 等)和通用配置。

  • Gateway(运维层):定义具体的网关实例,描述网络监听规则(如端口、协议、TLS 配置)。

  • HTTPRoute / GRPCRoute 等(应用层):定义具体的流量路由规则(如路径匹配、Header 修改、流量权重),并绑定到后端 Service。

  • Policy(策略层):定义了一组特定的配置或者行为(如熔断、限流、JWT认证等),可以附加到指定的网关、路由或者后端服务上。

image

ACK 中的 Gateway API 方案

在 ACK 集群中,可根据业务需求选择以下合适的Gateway API方案:

方案

Gateway with Inference Extension

ALB(Application Load Balancer)

概述

Gateway with Inference Extension是基于开源Envoy Gateway项目构建的组件,专为云原生和AI推理场景优化。通过监听Gateway API相关资源,动态创建和删除网关,管理集群南北向流量。该组件为非托管组件,部署在用户集群的节点上,需要自主运维,无云产品 SLA 保障。

ALB Ingress Controllerv2.17.0版本后提供了对Gateway API的支持,可通过配置Gateway、HTTPRoute等资源,将集群外部七层流量路由至集群内部由 Service 所管理的工作负载(Pod),管理集群南北向流量。ALB Ingress Controller 监听 Gateway API 资源的变化,并实时转化为底层ALB实例的监听、路由规则和服务器组配置。

适用场景

通用流量及AI推理场景

通用流量场景

核心优势

  • 开源Envoy标准架构:与 Envoy Gateway 社区上游最新版本保持一致;底层基于Envoy代理,凭借其成熟的生态和极高的性能表现,轻松应对大规模流量挑战。

  • 丰富的流量管理功能:支持多种限流、熔断规则;支持包括可用区级别在内的强大路由能力;支持常见的故障注入、流量镜像、压缩、缓存等功能。

  • AI 推理扩展:为大模型推理服务提供模型感知的负载均衡能力,支持LoRA/KV Cache 感知调度、Waiting Request Num、Model Priority等多种基于模型的调度策略,支持多模型版本的灰度发布能力。

  • 灵活的可扩展能力:基于Envoy Gateway原生集成EnvoyFilter、Lua、WasmExtProc等多种扩展方式,满足特殊流量管理需求。

  • 全托管免运维:采用一体化托管设计,网关和组件全托管,显著降低运维复杂度与成本。

  • 高性能与即时弹性:基于阿里云自研网络虚拟化平台,具备卓越的 QPS 吞吐与并发连接处理性能,并支持根据流量负载自动扩容,从容应对业务洪峰。

  • 强大的应用层路由能力:专门面向应用层负载场景,与容器服务深度集成,支持丰富的高级路由规则。

  • 配置热更新与零中断:支持配置热更新,通过 OpenAPI 动态调整转发规则,变更实时生效且无需重启实例,实现业务流量零中断。

  • 丰富的场景支持:适用于长连接、高并发连接、高QPS、业务存在流量峰谷、强依赖配置热更新和热升级、同城多活和异地多活容灾等场景。

相关文档

通过ALB管理通用流量