全部產品
Search
文件中心

Container Service for Kubernetes:Knative網關選型建議

更新時間:Nov 02, 2024

Knative網關提供了一種靈活的方式來接入外部流量,並將這些流量路由到不同的Knative服務上。ACK Knative支援ALB、MSE、ASM、Kourier四種網關,每種網關都有其特定的優勢和適用情境。本文從產品定位、產品架構、基礎路由、營運能力、效能特點、支援的主流協議和可觀測能力進行對比,供您完成網關選型。

Knative網關介紹

  • ALB:在阿里雲應用型負載平衡ALB(Application Load Balancer)之上提供更為強大的Ingress流量管理方式,提供全託管免營運的方式,並且提供自動彈效能力。

  • MSE(Microservices Engine):相容K8s Ingress標準的下一代網關產品,將傳統的流量網關和微服務網關功能合并。

  • ASM(Alibaba Cloud Service Mesh):統一管理微服務應用流量、相容Istio的託管式平台。通過流量控制、網格觀測以及服務間通訊安全等功能,簡化您的服務治理,並為運行在異構計算基礎設施上的服務提供統一的管理能力。

  • Kourier:基於Envoy架構實現的一款Knative社區開源的輕量級網關。

Knative網關差異對比

類型

ALB

MSE

ASM

Kourier

產品定位

  • 專註於應用程式層負載,ALB提供七層負載平衡功能,與容器技術深度整合。

  • 支援HTTP、HTTPS和QUIC等應用程式層協議,適用於處理高容量、需要自動Auto Scaling的情境。

  • 支援多種服務灰階策略(如金絲雀發布、A/B測試、藍綠部署等),並能夠與WAF、FC、PrivateLink、TR等雲產品結合使用。

  • 將傳統流量網關、微服務網關和安全網關三合一,通過硬體加速、WAF本地防護和外掛程式市場等功能,構建一個高整合、高效能、易擴充、熱更新的雲原生網關。

  • 提供七層流量處理能力與豐富的進階路由功能。支援多種服務發現模式和多種服務灰階策略,包括金絲雀發布、A/B測試、藍綠部署和自訂流量比例分發。

  • 專門面嚮應用層負載情境,與容器深度整合,網關在轉寄請求時直連後端Pod IP。

提供一個全託管式的服務網格平台,與開源的Istio服務網格相容。旨在簡化服務治理,包括服務調用之間的流量路由與拆分管理、服務間通訊的認證安全以及網格的可觀測效能力,可以減輕開發與營運的工作負擔。

基於Envoy實現的輕量級網關,是社區為Knative Serving服務訪問提供的網關實現。提供必要的路由和服務發現功能。

產品架構

  • 構建在阿里洛神雲網路平台之上。

  • 基於CyberStar自研平台,支援自動Auto Scaling。

  • 基於開源Higress專案,控制面使用Istio,資料面使用Envoy。關於開源Higress專案的詳細介紹,請參見Higress專案

  • 使用者獨享執行個體。

  • Istio控制平面的組件全部託管。同時,保持與Istio社區的相容。

  • 一個託管了控制平面的ASM執行個體可以支援來自多個Kubernetes叢集的應用服務或者運行於ECI Pod上的應用服務。

  • 基於Envoy。

  • 手動設定合適的副本數和資源限制。

基礎路由

  • 基於內容、源IP的路由。

  • HTTP標題改寫、重新導向、重寫、限速、跨域、會話保持等。

  • 除了請求方向轉寄規則,也支援回應程式向轉寄規則。

  • 根據訊息內容決定路由。

  • 支援HTTP標題改寫、重新導向、重寫、限速、跨域、逾時和重試等功能。

  • 支援標準的輪詢、隨機、最小請求數、一致性Hash和預熱等負載平衡模式。

  • 支援千層級的路由規則。

  • 自訂流量路由規則。

  • 跨多個Kubernetes叢集。

  • 精細化流量管理。

  • 開箱即用混沌工程能力。

  • 根據訊息內容決定路由。

  • HTTP標題改寫等。

營運能力

  • 全託管,免配置。

  • 自動彈性,支援超大容量。

  • 處理能力隨著業務峰值自動調整。

全託管,免營運。

  • 一鍵安裝、部署、升級。

  • 控制平面組件託管。

  • 只需專註於業務應用開發。

  • 相容Istio社區規範。

  • 組件自我維護。

  • 通過配置HPA進行擴縮容。

  • 需要主動配置規格調優。

效能

  • 單一實例支援100萬QPS。

  • 單一實例支援千萬級最大串連。

  • 預設使用SSL硬體加速。

  • 相比開源Nginx Ingress,在CPU水位30~40%時,TPS高出約90%。

  • 啟用硬體加速後,HTTPS效能可提升約80%。

  • 業務多地區部署,用戶端就近訪問,結合DNS智能解析,可以將網域名稱解析到用戶端最近的IP地址。

  • 使用CLB訪問ASM網關執行個體。

  • TLS加速商業版的ASM網關支援基於Intel的MultiBuffer實現HTTPS請求加速,實測QPS提升80%的效能。

效能依賴手動調優。

支援的主流協議

支援HTTP、HTTPS、QUIC、WebSocket、WSS、gRPC協議。

  • 支援HTTP、HTTPS、HTTP 3.0、WebSocket、gRPC協議。

  • 支援HTTP、HTTPS轉換為Dubbo協議。

  • 支援HTTPS協議和動態載入認證功能。

  • 支援通過入口網關訪問內部gRPC服務,並在gRPC的兩個版本之間進行流量切換。

  • 支援協議轉碼的能力,可以使用HTTP/JSON訪問服務網格內的gRPC服務。

  • 支援通過入口網關訪問網格內WebSocket服務。

支援HTTP、HTTPS、gRPC協議。

可觀測能力

  • 支援通過Access Log和Metrics採集日誌。

  • 支援將Log ServiceSLS整合到Access Log。

  • 支援將CloudMonitor整合到Metrics。

  • 支援警示功能。並支援將警示功能對接CloudMonitor。

  • 支援通過Access Log採集日誌,並支援整合SLS和阿里雲Prometheus。

  • 支援通過阿里雲Prometheus配置監控和警示。

  • 支援Tracing,並支援整合TracingAnalysis和SkyWalking。

  • 擁有直觀易用的可視化網格拓撲及分析。

  • 支援自建Prometheus監控的整合。

  • 支援雲產品ARMS監控的整合。

  • 支援雲產品Log ServiceSLS的整合。

  • 支援自訂監控指標

  • 支援服務等級目標(SLO)策略。

通過Access Log採集日誌。

綜上對比,ALB專註於應用程式層負載平衡;雲原生網關MSE專註於微服務情境;ASM提供服務網路(Istio)的能力;如果僅需要基礎的網關能力,可以選擇Kourier。

相關文檔

關於如何在Knative中使用這幾種網關以及相關注意事項,請參見使用ALB網關使用ASM網關使用MSE網關並實現精準自動彈性使用Kourier網關