Alauda 容器平台支持 Kubernetes 生态系统中的多种 Ingress 流量规范。本文档对它们进行比较(Service, Ingress, Gateway API, 和 ALB Rule),以帮助用户做出正确的选择。
类型为 LoadBalancer、Gateway API 和 ALB 规则的服务都可以将 L4 流量暴露到外部。我们推荐使用 LoadBalancer 类型的服务方法。Gateway API 和 ALB 规则都是由 ALB 实现的,ALB 是一个用户空间代理,在处理 L4 流量时,其性能相比 LoadBalancer 类型的服务显著下降。
虽然 Ingress、GatewayAPI 和 ALB 规则都可以将 L7 流量暴露到外部,但它们在能力和隔离模型上有所不同。
Ingress 是 Kubernetes 社区采用的标准规范,推荐作为默认使用。Ingress 由平台管理员管理的 ALB 实例处理。
GatewayAPI 提供了更灵活的隔离模式,但其成熟度不如 Ingress。通过使用 GatewayAPI,开发人员可以创建自己的隔离 ALB 实例来处理 GatewayAPI 规则。因此,如果您需要将 ALB 实例的创建和管理委托给开发人员,则需要选择使用 GatewayAPI。
ALB 规则(UI 中的负载均衡器)提供了最灵活的流量匹配规则和最多的功能。实际上,Ingress 和 GatewayAPI 都是通过将其转换为 ALB 规则来实现的。然而,ALB 规则比 Ingress 和 GatewayAPI 更复杂,并且不是社区标准 API。因此,我们建议仅在 Ingress 和 GatewayAPI 无法满足您的需求时使用它。