全部產品
Search
文件中心

Enterprise Distributed Application Service:添加負載平衡CLB

更新時間:Jun 30, 2024

在EDAS中的Container ServiceKubernetes叢集中建立應用後,可以為應用添加公網或私網負載平衡CLB來實現應用的公網或私網訪問。本文介紹如何為Container ServiceKubernetes叢集中的應用添加公網CLB和私網CLB。

背景資訊

如果需要為應用關聯負載平衡CLB,必須在EDAS控制台完成關聯CLB執行個體的監聽組態管理。

重要 禁止從負載平衡控制台直接修改CLB執行個體的監聽配置(含監聽+認證),可能導致負載平衡控制台修改的配置回退,引發應用入口相關的故障。

為Container ServiceK8s叢集或自建K8s叢集中的應用綁定CLB有以下區別:

  • 自建K8s叢集:為應用綁定CLB都需新購CLB執行個體,每個應用獨享CLB執行個體。
  • Container ServiceK8s叢集:為應用綁定CLB可以新購CLB執行個體來獨享CLB執行個體,也可以複用CLB執行個體。

約束限制

為Container ServiceK8s叢集或自建K8s叢集中的應用綁定CLB有以下約束條件,否則可能導致修改被回退,引發應用訪問相關的故障。

  • 不支援通過Container ServiceACK控制台、kubectl或者第三方介面刪除或修改EDAS建立的Service資源(EDAS資源含有以下label:edas-domain:edas-admin)。
  • 不支援通過負載平衡控制台修改或刪除EDAS代購的CLB執行個體。
  • 不支援通過負載平衡控制台修改或刪除EDAS託管的CLB執行個體的監聽配置。
  • 不支援通過命令列工具kubectl或在Container Service控制台更新Service的外部流量策略配置。

綁定建立CLB(公網)

  1. 登入EDAS控制台,在左側導覽列單擊應用管理 > 應用列表,在頂部功能表列選擇地區並在頁面上方選擇微服務空間,在叢集類型下拉式清單中選擇K8s叢集,然後單擊目標應用程式名稱。

  2. 應用總覽頁面的訪問方式配置地區,單擊負載平衡(公網)右側的加號表徵圖。
    說明

    如果您已經配置過負載平衡,則在此處會顯示負載平衡的IP和連接埠資訊,您可單擊編輯表徵圖進入配置頁面修改負載平衡資訊,或可單擊image.png表徵圖解除CLB的綁定。

  3. 負載平衡(公網)對話方塊,設定負載平衡參數,完成後單擊確認
    配置項描述
    選擇SLB在下拉式清單中選擇建立SLB或已有SLB。
    調度演算法選擇輪詢(RR)加權輪詢(WRR)
    外部流量策略

    選擇建立SLB時,外部流量策略地區下方可以查看SLB配額檢查和賬戶餘額檢查的狀態和說明以及Server Load Balancer-公網的產品配置、數量、付費方式、購買周期和資費。單擊查看價格瞭解SLB價格。

    選擇LocalCluster兩種模式:

    • Local:流量只發給原生Pod。配置為Local模式時,只有叢集中存在Service對應Pod的節點會被添加到SLB後端,且流量不會轉寄到叢集中其它節點的Pod中。結合SLB的負載平衡能力,能夠獲得較好的效能,且該模式支援保留四層源IP地址。
      說明 當配置為Local模式時,推薦配置SLB的調度演算法加權輪詢(WRR)。在容器叢集中,CCM組件會根據節點上部署的Pod的數量來調整節點在SLB後端的權重,使用WRR演算法能夠獲得較好的負載平衡能力。
    • Cluster:流量可以轉寄到叢集中其他節點上的Pod。
      說明 配置為Cluster模式時,叢集的所有節點將被掛載到SLB的後端伺服器組中,即使所訪問的節點上沒有啟動對應的Pod,也可以通過SNAT轉寄訪問到Pod服務。但是該模式無法保留四層源IP地址。
    該SLB已有的監聽資訊僅當選擇SLB類型為已有SLB時,需要配置此項。您可以查看網路通訊協定、連接埠號碼和容器連接埠(Target port)。
    TCP|HTTP 協議
    • SLB連接埠(應用程式名稱):公網負載平衡前端連接埠,通過該連接埠訪問應用,可設定範圍為[1,65535]。
    • 容器連接埠(TargetPort):進程監聽的連接埠,一般由程式定義。例如,Web應用預設使用8080連接埠。
    UDP 協議
    • SLB連接埠(應用程式名稱):公網負載平衡前端連接埠,通過該連接埠訪問應用。
    • 容器連接埠(TargetPort):進程監聽的連接埠,一般由程式定義。
    HTTPS協議
    • HTTPS連接埠(應用程式名稱):公網負載平衡前端連接埠,通過該連接埠訪問應用,可設定範圍為[1,65535]。
    • SSL認證:SSL協議認證,在下拉式功能表中選擇已上傳的SSL認證。
    • 容器連接埠(TargetPort):進程監聽的連接埠,一般由程式定義。例如,Web應用預設使用8080連接埠。
    說明 該監聽配置支援設定多個監聽,您可以單擊添加新的監聽配置。
  4. 如果您的應用訪問需求量已經超出了當前設定的CLB規格,則重複步驟2~步驟3,添加多個SLB。
    說明

    CLB的規格指標主要有最大串連數每秒建立串連數每秒查詢數,如果應用訪問量超過了CLB的規格指標,您可以通過添加多個CLB來分擔流量壓力。

結果驗證

在瀏覽器地址欄中輸入<負載平衡IP>:<連接埠號碼>,例如115.xx.xx.xx:80,再按斷行符號鍵即可進入各自的應用首頁。

如果負載平衡右側未出現IP和連接埠資訊,則表示綁定負載平衡失敗,請進入變更記錄查看變更詳情,根據變更記錄排查並修複失敗原因。

綁定建立CLB(私網)

  1. 登入EDAS控制台,在左側導覽列單擊應用管理 > 應用列表,在頂部功能表列選擇地區並在頁面上方選擇微服務空間,在叢集類型下拉式清單中選擇K8s叢集,然後單擊目標應用程式名稱。

  2. 應用總覽頁面的訪問方式配置地區,單擊負載平衡(私網)右側的加號表徵圖。
    說明

    如果您已經配置過負載平衡,則在此處會顯示負載平衡的IP和連接埠資訊,您可單擊編輯表徵圖進入配置頁面修改負載平衡資訊,或可單擊image.png表徵圖解除CLB的綁定。

  3. 負載平衡(私網)對話方塊,設定負載平衡參數,完成後單擊確認
    參數描述
    選擇SLB您可以在下拉式清單中選擇建立SLB或已有SLB。
    調度演算法您可以選擇輪詢(RR)加權輪詢(WRR)
    外部流量策略

    當您選擇建立SLB時,外部流量策略地區下方可以查看SLB配額檢查的狀態和說明以及Server Load Balancer-私網的產品配置和數量。

    您可以選擇LocalCluster兩種模式:

    • Local:流量只發給原生Pod。配置為Local模式時,只有叢集中存在Service對應Pod的節點會被添加到SLB後端,且流量不會轉寄到叢集中其他節點的Pod中。結合SLB的負載平衡能力,能夠獲得較好的效能且該模式下能夠保留四層源IP地址。
      說明 當配置為Local模式時,推薦配置SLB的調度演算法加權輪詢(WRR)。在容器叢集中,CCM組件會根據節點上部署的Pod的數量來調整節點在SLB後端的權重,使用WRR演算法能夠獲得較好的負載平衡能力。
    • Cluster:流量可以轉寄到叢集中其他節點上的Pod。
      說明 配置為Cluster模式時,叢集的所有節點將被掛載到SLB的後端伺服器組中,即使所訪問的節點上沒有啟動對應的Pod,也能通過SNAT轉寄訪問到Pod服務。但是該模式無法保留四層源IP地址。
    該SLB已有的監聽資訊當您選擇已有SLB時,該參數才會出現。您可以查看網路通訊協定、連接埠號碼和容器連接埠(Target port)。
    TCP|HTTP 協議
    • SLB連接埠(應用程式名稱):私網負載平衡前端連接埠,通過該連接埠訪問應用,可設定範圍為1~65535。
    • 容器連接埠(TargetPort):進程監聽的連接埠。一般由程式定義,例如:Web應用預設使用8080連接埠。
    HTTPS協議
    • HTTPS連接埠(應用程式名稱):私網負載平衡前端連接埠,通過該連接埠訪問應用,可設定範圍為1~65535。
    • SSL認證:SSL協議認證,在下拉式功能表中選擇已上傳的SSL認證。
    • 容器連接埠(TargetPort):進程監聽的連接埠。一般由程式定義,例如:Web應用預設使用8080連接埠。
    說明 該監聽配置支援設定多個監聽,您可以單擊添加新的監聽進行配置。
  4. 如果您的應用訪問需求量已經超出了當前設定的CLB規格,則重複步驟2~步驟3,添加多個SLB。
    說明

    CLB的規格指標主要有最大串連數每秒建立串連數每秒查詢數,如果應用訪問量超過了CLB的規格指標,您可以通過添加多個CLB來分擔流量壓力。

結果驗證

在瀏覽器地址欄中輸入<負載平衡IP>:<連接埠號碼>,例如115.xx.xx.xx:80,再按斷行符號鍵即可進入各自的應用首頁。

如果負載平衡右側未出現IP和連接埠資訊,則表示綁定負載平衡失敗,請進入變更記錄查看變更詳情,根據變更記錄排查並修複失敗原因。