ALB Ingress 釋出!輕鬆應對雲原生應用流量管理

阿里巴巴雲原生發表於2021-11-14

作者:元毅
稽核校對:溪洋、海珠
編輯&排版:雯燕

背景

隨著雲原生應用微服務化、Serverless 化,使用者需要面對複雜路由規則可配置、支援多種應用層協議(HTTP、HTTPS 和 QUIC等)、服務訪問的安全性以及流量的可觀測性等訴求。傳統的基於四層 SLB Ingress ,已無法滿足這些訴求。

阿里雲容器服務 ALB Ingress Controller 基於應用型負載均衡 ALB(Application Load Balancer)之上提供全託管免運維的 Ingress 流量管理。依託阿里雲容器服務 Kubernetes 產品,相容 Nginx Ingress 語義,具備配置以及管理複雜業務路由的能力,證書自動發現,流量入口可觀測,同時支援多種應用層協議(QUIC 等),具備大規模七層流量處理能力,讓使用者輕鬆應對雲原生應用流量管理。

ALB 產品

應用型負載均衡 ALB(Application Load Balancer)是阿里雲推出的專門面向 HTTP、HTTPS 和 QUIC 等應用層負載場景的負載均衡服務,具備超強彈性及大規模七層流量處理能力。

1.png

ALB 特性

彈性自動伸縮:ALB 同時提供域名與 VIP(Virtual IP address),支援對多臺雲伺服器進行流量分發以擴充套件應用系統的服務能力,通過消除單點故障來提升應用系統的可用性。ALB 允許您自定義可用區組合,並支援在可用區間彈性縮放,避免單可用區資源瓶頸。

高階的協議支援:ALB 支援應用傳輸協議 QUIC,在實時音視訊、互動直播和遊戲等移動網際網路應用場景中,訪問速度更快,傳輸鏈路更安全可靠。ALB 同時支援 gRPC 框架,可實現海量微服務間的高效 API 通訊。

基於內容的高階路由:ALB 支援基於 HTTP 標頭、Cookie、HTTP 請求方法等多種規則來識別特定業務流量,並將其轉發至不同的後端伺服器。同時 ALB 還支援重定向、重寫以及自定義 HTTPS 標頭等高階操作。

安全加持:ALB自帶分散式拒絕服務 DDoS(Distributed Denial of Service)防護,一鍵整合 Web 應用防火牆(Web Application Firewall,簡稱 WAF)。同時 ALB 支援全鏈路 HTTPS 加密,可以實現與客戶端或後端伺服器的 HTTPS 互動;支援 TLS 1.3 等高效安全的加密協議,面向加密敏感型業務,滿足 Zero-Trust 新一代安全技術架構需求;支援預製的安全策略,您可以自定義安全策略。

雲原生應用:在雲原生時代,PaaS 平臺將下沉到基礎設施,成為雲的一部分。隨著雲原生逐步成熟,網際網路、金融、企業等諸多行業新建業務時選擇雲原生部署,或對現有業務進行雲原生化改造。ALB 與容器服務 Kubernetes 版(Alibaba Cloud Container Service for Kubernetes,簡稱 ACK)深度整合,是阿里雲的官方雲原生 Ingress 閘道器。

彈性靈活的計費:ALB 通過彈性公網 IP(Elastic IP Address,簡稱EIP)和共享頻寬提供公網能力,實現公網靈活計費;同時採用了更先進的、更適合彈性業務峰值的基於容量單位(LCU)的計價方案。

阿里雲容器服務 ALB Ingress Controller

阿里雲容器服務 ALB Ingress Controller 是基於阿里雲應用型負載均衡 ALB(Application Load Balancer)之上提供更為強大的 Ingress 流量管理方式,相容 Nginx Ingress,具備處理複雜業務路由和證書自動發現的能力,支援 HTTP、HTTPS 和 QUIC 協議,完全滿足雲原生應用場景下對超強彈性和大規模七層流量處理能力的需求。

實現原理

ALB Ingress Controller 通過 API Server 監聽 kubernetes Ingress 資源的變化,動態地生成 Albconfig(Albconfig 是在 ALB Ingress Controller 提供的 CRD 資源,用於 ALB 例項配置),然後依次建立 ALB 例項、監聽、路由轉發規則以及後端伺服器組。Kubernetes 中 Service、Ingress 與 Albconfig 有著以下關係:

  • Service 是後端真實服務的抽象,一個 Service 可以代表多個相同的後端服務。
  • Ingress 是反向代理規則,用來規定 HTTP/HTTPS 請求應該被轉發到哪個 Service 上。例如:根據請求中不同的 Host 和 URL 路徑,讓請求轉發到不同的 Service上。
  • Albconfig 是在 ALB Ingress Controller 提供的 CRD 資源,使用 ALBConfig CRD 來配置 ALB 例項和監聽。一個 Albconfig 對應一個 ALB 例項。

2.png

產品優勢

3.png

豐富的轉發特性

  • 基於 Header、Cookie 轉發
  • 域名 URL 轉發:支援根據不同的域名和 URL 進行流量排程,提升應用系統靈活性。

高彈性大吞吐

針對負載均衡例項,首家提出效能保障的雲端計算廠商。

  • 效能保障型例項:推出效能保障型例項,實現不同例項間的效能隔離,提供相應規格下的效能保障。
  • 超大效能規格:針對高效能需求,提供超大規格的負載均衡例項,解決效能瓶頸問題。

面向雲原生應用

  • 基於原生 Kubernetes Ingress
  • 天然支援阿里雲容器服務 Kubernetes 產品
  • 相容 Nginx Ingress 語義

更安全可靠

  • 元件託管,高可用免運維
  • 證書管理:自動發現證書。

應用場景

ALB 目前支援的場景包括高彈性網際網路場景、視音訊行業低延遲場景、面向雲原生應用場景等。

4.png

小結

當前阿里雲容器服務 ALB Ingress Controller 已開放公測,使用者可以通過容器服務控制檯直接部署 ALB Ingress Controller,支援 ACK 託管版、ACK 專有版以及 Serverless Kubernetes。

點選此處瞭解更多產品相關資訊:

相關連結:

1)ALB Ingress介紹:
https://help.aliyun.com/docum...

2)ALB 介紹:
https://help.aliyun.com/docum...

相關文章