Knative网关提供了一种灵活的方式来接入外部流量,并将这些流量路由到不同的Knative服务上。ACK Knative支持ALB、MSE、ASM、Kourier四种网关,每种网关都有其特定的优势和适用场景。本文从产品定位、产品架构、基础路由、运维能力、性能特点、支持的主流协议和可观测能力进行对比,供您完成网关选型。
Knative网关介绍
ALB:基于阿里云ALB提供了更为强大的Ingress流量管理方式,全托管免运维,且支持自动弹性能力。
MSE:兼容K8s Ingress标准的下一代网关产品,将传统的流量网关和微服务网关功能合并。
ASM:统一管理微服务应用流量、兼容Istio的托管式平台。通过流量控制、网格观测以及服务间通信安全等功能,简化您的服务治理,并为运行在异构计算基础设施上的服务提供统一的管理能力。
Kourier:基于Envoy架构实现的一款Knative社区开源的轻量级网关。
Knative网关差异对比
类型 | ALB | MSE | ASM | Kourier |
产品定位 | 专注于应用层负载,ALB提供七层负载均衡功能,与容器技术深度集成。 支持HTTP、HTTPS和QUIC等应用层协议,适用于处理高容量、需要自动弹性伸缩的场景。 支持多种服务灰度策略(如金丝雀发布、A/B测试、蓝绿部署等),并能够与WAF、FC、PrivateLink、TR等云产品结合使用。
| 将传统流量网关、微服务网关和安全网关三合一,通过硬件加速、WAF本地防护和插件市场等功能,构建一个高集成、高性能、易扩展、热更新的云原生网关。 提供七层流量处理能力与丰富的高级路由功能。支持多种服务发现模式和多种服务灰度策略,包括金丝雀发布、A/B测试、蓝绿部署和自定义流量比例分发。 专门面向应用层负载场景,与容器深度集成,网关在转发请求时直连后端Pod IP。
| 提供一个全托管式的服务网格平台,与开源的Istio服务网格兼容。旨在简化服务治理,包括服务调用之间的流量路由与拆分管理、服务间通信的认证安全以及网格的可观测性能力,可以减轻开发与运维的工作负担。 | 基于Envoy实现的轻量级网关,是社区为Knative Serving服务访问提供的网关实现。提供必要的路由和服务发现功能。 |
产品架构 | | | | |
基础路由 | | | 自定义流量路由规则。 跨多个Kubernetes集群。 精细化流量管理。 开箱即用混沌工程能力。
| |
运维能力 | 全托管,免配置。 自动弹性,支持超大容量。 处理能力随着业务峰值自动伸缩。
| 全托管,免运维。 | 一键安装、部署、升级。 控制平面组件托管。 只需专注于业务应用开发。 兼容Istio社区规范。
| 组件自行维护。 通过配置HPA进行扩缩容。 需要主动配置规格调优。
|
性能 | 单实例支持100万QPS。 单实例支持千万级最大连接。 默认使用SSL硬件加速。
| | | 性能依赖手动调优。 |
支持的主流协议 | 支持HTTP、HTTPS、QUIC、WebSocket、WSS、gRPC协议。 | | 支持HTTPS协议和动态加载证书功能。 支持通过入口网关访问内部gRPC服务,并在gRPC的两个版本之间进行流量切换。 支持协议转码的能力,可以使用HTTP/JSON访问服务网格内的gRPC服务。 支持通过入口网关访问网格内WebSocket服务。
| 支持HTTP、HTTPS、gRPC协议。 |
可观测能力 | 支持通过Access Log和Metrics采集日志。 支持将日志服务SLS集成到Access Log。 支持将CloudMonitor集成到Metrics。 支持报警功能。并支持将报警功能对接CloudMonitor。
| 支持通过Access Log采集日志,并支持集成SLS和阿里云Prometheus。 支持通过阿里云Prometheus配置监控和告警。 支持Tracing,并支持集成TracingAnalysis和SkyWalking。
| 拥有直观易用的可视化网格拓扑及分析。 支持自建Prometheus监控的集成。 支持云产品ARMS监控的集成。 支持云产品日志服务SLS的集成。 支持自定义监控指标 支持服务级别目标(SLO)策略。
| 通过Access Log采集日志。 |
综上对比,ALB专注于应用层负载均衡;云原生网关MSE专注于微服务场景;ASM提供服务网络(Istio)的能力;如果仅需要基础的网关能力,可以选择Kourier。