網路型負載平衡NLB(Network Load Balancer)是阿里雲面向萬物互聯時代推出的新一代四層負載平衡,支援超高效能和自動彈效能力,具有更高的可用性,能夠進一步提升網關流量的穩定性。ASM網關支援使用NLB。配置ASM網關的ServiceType為LoadBalancer時,預設會關聯一個CLB作為網關Service的負載平衡器。本文介紹如何關聯一個NLB作為ASM網關的負載平衡器。
前提條件
已添加Kubernetes叢集到ASM執行個體,且滿足以下條件:
-
Kubernetes叢集版本為v1.24及以上且CCM版本為v2.5.0及以上。
-
ASM執行個體版本為1.18及以上。
-
ACK叢集所在VPC至少有兩個可用性區域的VSwitch。
操作步驟
-
登入ASM控制台,在左側導覽列,選擇。
-
在網格管理頁面,單擊目標執行個體名稱,然後在左側導覽列,選擇。
-
您可以選擇使用介面方式或YAML方式建立入口網關。
使用介面建立
在入口網關頁面,單擊建立。本文只對NLB類型負載平衡的參數進行說明。其他配置參數,請參見建立入口網關。
配置項
說明
網路型負載均衡 NLB
僅當網關服務類型選擇LoadBalancer時,需要進行此配置。
支援公網訪問和私網訪問。
建立Server Load Balancer
-
控制台預設為建立Server Load Balancer,您可以按需選擇使用已有Server Load Balancer。
-
選擇此選項後,您需要在下方選擇NLB可用區中選擇至少兩個可用性區域對應的虛擬交換器。
使用已有Server Load Balancer
選擇此選項後,您需要在下方選擇已有Server Load Balancer中選擇已經建立的NLB負載平衡。
重要建議您為每個Kubernetes服務分配一個負載平衡。如果多個Kubernetes服務複用同一個負載平衡,存在以下風險和限制:
-
使用已有的負載平衡會強制覆蓋已有監聽,可能會導致您的應用不可訪問。
-
Kubernetes通過Service建立的負載平衡不能複用,只能複用您手動在控制台(或調用OpenAPI)建立的負載平衡。
-
複用同一個負載平衡的多個Service不能有相同的前端監聽連接埠,否則會造成連接埠衝突。
-
複用負載平衡時,監聽的名字以及虛擬伺服器組的名字被Kubernetes作為唯一識別碼。請勿修改監聽和虛擬伺服器組的名字。
-
不支援跨叢集、跨地區複用負載平衡。
使用YAML建立
在入口網關頁面,單擊使用YAML建立,配置網關名稱為ingressgateway-nlb-test,選擇命名空間為istio-system,配置如下YAML。
YAML中需要配置
loadBalancerClass為alibabacloud.com/nlb。NLB不需要指定規格,但是需要指定至少兩個可用性區域。建立完成後,介面顯示如下。與使用CLB的網關不同,使用NLB的網關,服務地址顯示為一個網域名稱而不是一個IP。同時,由於建立入口網關時指定了兩個可用性區域,該網域名稱會綁定兩個IP地址。
建立完成後,在入口網關頁面可查看網關執行個體資訊,包括網關名稱(如
ingressgateway-nlb-test)、運行狀態、版本號碼、所屬叢集 ID、服務地址(NLB 網域名稱)、連接埠映射(如 HTTP | 80:80、HTTPS | 443:443),以及 網關編輯、查看詳情、查看YAML、刪除 等管理操作入口和 網關安全、日誌中心、網關監控 等進階功能與可觀測性入口。您可以登入NLB控制台,查看當前NLB的狀態。關於NLB的更多資訊,請參見通過Annotation配置網路型負載平衡NLB和NLB產品計費。
-