ACK託管叢集和ACK Serverless叢集均支援使用Nginx Ingress、ALB Ingress和MSE Ingress對外暴露Container Service和管理路由。Nginx Ingress需要自我維護,ALB Ingress和MSE Ingress使用的網關為全託管模式。本文比較了Nginx Ingress、ALB Ingress和MSE Ingress在典型應用情境、工作流程和功能等方面的差異,協助您選擇合適的Ingress類型。
背景資訊
Nginx Ingress:基於開源社區Ingress NGINX Controller提供七層流量處理能力與豐富的進階路由功能,與上遊社區完全相容,支援擴充能力。該組件由您自主營運,無SLA保障,支援豐富定製化能力。
ALB Ingress:阿里雲自研雲原生Ingress網關,相容Nginx Ingress,採用全託管一體化設計,支援SSL硬體加速,具備自動彈性、低時延、處理複雜業務路由的能力。單個ALB執行個體支援100萬QPS,提供更強大的Ingress流量管理功能。關於ALB Ingress雲原生網關的詳細介紹,請參見ALB Ingress概述。
MSE Ingress:阿里雲開源Higress企業版,相容Nginx Ingress,適用於微服務情境,支援多種服務發現、認證鑒權以及多語言外掛程式擴充,提供灰階發布、預熱和限流等核心能力。單個MSE雲原生網關執行個體支援100萬QPS,提供更為強大的Ingress流量管理功能。
典型應用情境
類型 | 典型應用情境 |
Nginx Ingress |
|
ALB Ingress |
|
MSE Ingress |
|
工作示意圖
通過從請求網域名稱www.example.net/app
到轉寄並訪問具體Container Service的工作示意圖,對比Nginx Ingress、ALB Ingress和MSE Ingress之間工作方式的差異。
Nginx Ingress
Nginx Ingress Controller是一個集控制面和資料面於一體的實現方案。每個Nginx Ingress Controller Pod中有一個Controller進程(控制面),同時也包含Nginx相關進程(資料面),因此配置流量和使用者請求流量都會由Nginx Ingress Controller Pod處理。
ALB Ingress
ALB Ingress Controller通過API Server動態地擷取Ingress資源和AlbConfig資源的變化,然後更新ALB執行個體。與Nginx Ingress Controller不同,ALB Ingress Controller是託管組件,作為ALB執行個體的控制面,不直接處理使用者請求流量,使用者流量的轉寄由ALB執行個體來實現。
MSE Ingress
MSE Ingress Controller負責監聽叢集中的MseIngressConfig資源,協調MSE雲原生網關執行個體用於實施Ingress資源描述的流量管理規則。與Nginx Ingress Controller不同,MSE Ingress Controller是管理MSE雲原生網關執行個體以及配置的控制面,MSE Ingress Controller Pod不直接處理使用者請求流量,使用者流量的路由和轉寄由MSE雲原生網關執行個體來實現。
功能對比
比較項 | Nginx Ingress | ALB Ingress | MSE Ingress |
產品定位 |
|
|
|
產品架構 | 基於Nginx+Lua外掛程式擴充。 |
|
|
基礎路由 |
|
|
|
支援協議 |
|
|
|
配置變更 |
|
|
|
認證鑒權 |
| 支援TLS身份認證。 |
|
效能 |
|
|
|
可觀測能力 |
|
|
|
營運能力 |
|
| 網關全託管,免營運。 |
安全 |
|
|
|
費用成本 |
|
| |
組件管理 | |||
服務治理 |
|
|
|
擴充性 | 使用Lua指令碼。 | 使用AScript自研指令碼。更多資訊,請參見可程式化指令碼AScript概述。 |
|
雲原生整合 | 自行營運組件,與阿里雲ACK或ACK Serverless等Container Service結合使用。更多資訊,請參見Ingress概述。 |
| 使用者側組件,與阿里雲ACK或ACK Serverless等Container Service結合使用,且支援Nginx Ingress核心 Annotation無縫轉換,關於MSE Ingress支援的Annotation,請參見MSE Ingress支援的Annotation。 |
相關文檔
關於如何從Nginx Ingress遷移到其他類型Ingress或ASM網關的詳細內容,請參見: