ALB Ingress除了支援在Container ServiceACK/ACK Serverless等Kubernetes產品中使用,還支援與Enterprise Distributed Application Service(Enterprise Distributed Application Service)、Serverless應用引擎SAE(Serverless App Engine)、雲上自建Kubernetes叢集等相結合使用,以滿足您多樣化的業務需求。本文為您介紹ALB Ingress的基礎功能、進階功能以及與其他產品整合使用的操作指導。
基礎功能
AlbConfig是由ALB Ingress Controller提供的CRD資源,ALB Ingress Controller使用AlbConfig來配置ALB執行個體和監聽。下表為您介紹如何在容器ACK系列產品中安裝和卸載ALB Ingress Controller、如何建立與修改AlbConfig以及開啟Log Service等操作。
對象 | 功能 | 描述 | Container ServiceACK文檔連結 | Container ServiceACK Serverless文檔連結 |
ALB Ingress Controller | ALB Ingress Controller組件管理 | Container Service基於ALB提供了託管的ALB Ingress Controller。 您可以通過在建立叢集時安裝ALB Ingress Controller,也可以通過在組件管理頁面安裝ALB Ingress Controller。 | ||
執行個體管理 | 建立AlbConfig | AlbConfig是在ALB Ingress Controller提供的CRD資源,使用AlbConfig CRD來配置ALB執行個體和監聽。 一個AlbConfig對應一個ALB執行個體,如果您需要使用多個ALB執行個體,可以通過建立多個AlbConfig實現。 | ||
關聯Ingress | AlbConfig通過K8s中標準的IngressClass資源與Ingress進行關聯。您需要先建立IngressClass,然後關聯AlbConfig。 | |||
修改AlbConfig | 您可以修改AlbConfig的屬性,比如名稱、vSwitch配置等。 配置完成儲存後,新配置自動生效。 | |||
開啟Log Service訪問日誌 | 當您需要ALB Ingress能夠收集訪問日誌Access Log,您需要在AlbConfig中指定 說明
| |||
複用已有ALB執行個體 | 當您需要複用已有ALB執行個體,您只需要在建立AlbConfig時指定ALB執行個體ID即可。 | |||
使用多個ALB執行個體 | 當您需要使用多個ALB執行個體時,您可以在Ingress中通過 | |||
刪除ALB執行個體 | 一個ALB執行個體對應一個AlbConfig, 因此可以通過刪除AlbConfig實現刪除ALB執行個體,但前提是先需要刪除AlbConfig關聯的所有Ingress。 | |||
監聽管理 | 指定HTTPS認證 | 通過ALBConfig可以指定ALB認證,您可以通過配置ALBConfig的 | ||
支援TLS安全性原則 | 當前ALBConfig配置HTTPS監聽時,支援指定TLS安全性原則。TLS安全性原則包含自訂策略和系統預設策略,更多資訊,請參見TLS安全性原則。 |
進階功能
在Container ServiceACK叢集中,ALB Ingress對叢集服務(Service)中外部可訪問的API對象進行管理,提供七層負載平衡能力。下表為您介紹如何通過ALB Ingress將來自不同網域名稱或URL路徑的請求轉寄給不同的後端伺服器組、將HTTP訪問重新導向至HTTPS、灰階發布等功能。
功能 | 描述 | Container ServiceACK文檔連結 | Container ServiceACK Serverless文檔連結 |
基於網域名稱轉寄請求 | 建立一個簡單的Ingress,根據指定的正常網域名稱或空網域名稱轉寄請求。 | ||
基於URL路徑轉寄請求 | ALB Ingress支援按照URL轉寄請求,可以通過 | ||
自訂轉寄規則 | ALB Ingress支援自訂轉寄規則。轉寄規則包含轉寄條件和轉寄動作。通過ALB Ingress您可以
重要
| ||
配置健全狀態檢查 | ALB Ingress支援通過設定註解來配置健全狀態檢查,配置項包括path/protocol/method/httpcode/timeout/interval/threshold等。 | ||
配置自動探索HTTPS認證功能 | ALB Ingress Controller提供認證自動探索功能。您需要首先在數位憑證管理服務控制台建立認證,然後ALB Ingress Controller會根據Ingress中TLS配置的網域名稱自動匹配發現認證。 | ||
配置HTTP重新導向至HTTPS | ALB Ingress通過設定註解 | ||
支援HTTPS和gRPC協議 | 當前ALB Ingress後端協議支援HTTPS和gRPC協議,通過ALB Ingress只需要在註解中配置 說明 後端協議不支援修改,如果您需要變更協議,請刪除重建Ingress。 | ||
支援Rewrite重寫 | 當前ALB Ingress支援Rewrite重寫,通過ALB Ingress只需要在註解中配置 說明
| ||
配置自訂監聽連接埠 | 支援Ingress配置自訂監聽連接埠。通過該方式,可以將服務同時暴露80連接埠和443連接埠。 | ||
配置轉寄規則優先順序 | 通過配置Ingress註解可以定義ALB Ingress轉寄規則優先順序。 說明 同一個監聽內規則優先順序必須唯一。 | ||
通過註解實現灰階發布 | ALB Ingress提供複雜路由處理能力,支援基於Header、Cookie以及權重的灰階發布功能。灰階發布功能可以通過設定註解來實現。 為了啟用灰階發布功能,需要設定註解 | ||
通過註解實現會話保持 | ALB Ingress支援通過 | ||
指定伺服器組負載平衡演算法 | ALB Ingress支援通過設定Ingress註解 | ||
跨網域設定 | ALB Ingress支援通過設定註解項配置跨域。 | ||
後端長連結 | 當使用短連結的方式訪問後端伺服器組時,每一條請求都需要經歷TCP層面的建立串連和中斷連線,使網路連接成為高效能系統的瓶頸。ALB支援開啟後端長連結,能夠極大的減少處理串連層面的資源消耗,從而大幅度提高處理效能。當前在ALB Ingress中可以通過註解 | ||
支援QPS限速 | ALB本身支援轉寄規則的QPS限速功能,QPS限速值取值範圍為1~100000。當前在ALB Ingress只需要設定 | ||
|
|
ALB Ingress生態整合
雲產品整合
雲產品 | 功能 | 描述 | 文檔連結 |
WAF | 為ALB Ingress開啟WAF防護 | Web Application FirewallWAF(Web Application Firewall)可以為網站或App提供一站式安全防護,防止資料泄密和惡意CC攻擊,阻止木馬上傳和網頁篡改,提供虛擬補丁。當ALB Ingress開啟WAF防護後,ALB執行個體監聽的連接埠流量將受到Web應用安全防護。 | |
EDAS | 建立應用路由(ALB Ingress) | EDAS支援ALB Ingress應用路由,ALB Ingress基於阿里雲應用型負載平衡ALB(Application Load Balancer)提供更有效Ingress流量管理方式,同時相容Nginx Ingress,具備處理複雜業務路由和認證自動探索的能力。 | |
SAE | 基於Ingress網關實現全鏈路灰階 | 您可以通過ALB Ingress網關,在不需要修改您的任何業務代碼的情況下,為您的SAE應用實現全鏈路流量控制。 | |
ASM | 支援以Ingress方式與應用型負載平衡ALB整合。 | 阿里雲服務網格(Alibaba Cloud Service Mesh,簡稱ASM)支援以Ingress方式與應用型負載平衡ALB(Application Load Balancer)整合,滿足ALB使用者使用ASM的訴求。 | |
HPA | 支援以Ingress方式與應用型負載平衡ALB整合。 | 容器水平伸縮(Horizontal Pod Autoscaler,簡稱 HPA)是 Kubernetes 中實現 Pod 水平自動調整的功能。HPA支援以Ingress方式與應用型負載平衡ALB(Application Load Balancer)整合,實現基於QPS資料的應用Auto Scaling。 | |
Knative | 支援在安裝了Knative組件的ACK或ACK Serverless叢集中,通過ALB來訪問服務。 | Knative是一款基於Kubernetes的Serverless架構。支援通過Knative的方式配置ALB服務發現,實現Header和Cookie灰階發布功能。 |
開源產品整合
開源產品 | 功能 | 描述 | 文檔連結 |
雲上自建K8s | 支援在雲上自建的Kubernetes叢集中,通過Ingress方式使用ALB產品。 | 利用購置的ECS計算資源搭建的Kubernetes叢集,可以通過Ingress的方式編排ALB路由,實現叢集內服務的自動探索和負載平衡。 |