Knative網關提供了一種靈活的方式來接入外部流量,並將這些流量路由到不同的Knative服務上。ACK Knative支援ALB、ASM、Kourier四種網關,每種網關都有其特定的優勢和適用情境。本文從產品定位、產品架構、基礎路由、營運能力、效能特點、支援的主流協議和可觀測能力進行對比,供您完成網關選型。
Knative網關介紹
ALB:基於阿里雲ALB提供了更為強大的Ingress流量管理方式,全託管免營運,且支援自動彈效能力。
ASM:統一管理微服務應用流量、相容Istio的託管式平台。通過流量控制、網格觀測以及服務間通訊安全等功能,簡化您的服務治理,並為運行在異構計算基礎設施上的服務提供統一的管理能力。
Kourier:基於Envoy架構實現的一款Knative社區開源的輕量級網關。
Knative網關差異對比
類型 | ALB | ASM | Kourier |
產品定位 | 專註於應用程式層負載,ALB提供七層負載平衡功能,與容器技術深度整合。 支援HTTP、HTTPS和QUIC等應用程式層協議,適用於處理高容量、需要自動Auto Scaling的情境。 支援多種服務灰階策略(如金絲雀發布、A/B測試、藍綠部署等),並能夠與WAF、FC、PrivateLink、TR等雲產品結合使用。
| 提供一個全託管式的服務網格平台,與開源的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採集日誌。 支援將Log ServiceSLS整合到Access Log。 支援將CloudMonitor整合到Metrics。 支援警示功能。並支援將警示功能對接CloudMonitor。
| 擁有直觀易用的可視化網格拓撲及分析。 支援自建Prometheus監控的整合。 支援雲產品ARMS監控的整合。 支援雲產品Log ServiceSLS的整合。 支援自訂監控指標 支援服務等級目標(SLO)策略。
| 通過Access Log採集日誌。 |
綜上對比,ALB專註於應用程式層負載平衡;ASM提供服務網路(Istio)的能力;如果僅需要基礎的網關能力,可以選擇Kourier。