跳到主內容
版本:3.0

如何在 CubeCOS 上建立負載平衡器

負載平衡器將傳入的網路流量分配至多台伺服器,以確保任何單一伺服器都不會因負載過重而癱瘓。 這有助於提升應用程式的效能、可靠性與可用性。

資訊

USB儲存裝置預設為被封鎖狀態。 若需存取 USB 裝置,請以管理員身分登入後,透過 CLI > tuning > configure 指令將調校選項 cubesys.probeusb 設定為 true

先決條件

  1. 下載 Amphora 映像檔: amphora-x64-haproxy_yoga

上傳並安裝負載負載平衡器

  1. 使用 SCP 或 WinSCP 等工具,將負載平衡器映像檔上傳至 CubeCOS 叢集的 Glance 映像目錄 /mnt/cephfs/glance。 從一臺具備管理權限的電腦連接到您的叢集 VIP。

    scp amphora-x64-haproxy_yoga.qcow2 root@<cluster-vip>:/mnt/cephfs/glance/
  2. 請以 admin 身分透過 SSH 連線至 CubeCOS 叢集管理 VIP。

  3. 請使用以下指令匯入負載平衡器映像檔:iaas image import_lb

    cc1> iaas image import_lb
    1: usb
    2: local
    Enter index: 2
    1: amphora-x64-haproxy_yoga.qcow2
    Enter index: 1
    Importing...
    [13:49:33] Converting image to RAW format ...
    (100.00/100%)
    [13:49:36] Creating image amphora-x64-haproxy ...
    [=============================>] 100%
    b726a8b9-d6a8-492c-8102-9247c252d779
    [13:50:04] Finished creating image amphora-x64-haproxy
    Importing complete. It is safe to remove the local image file.

測試負載平衡器功能

至少設定兩個虛擬機作為負載平衡器群組的成員。

資訊

以下示範說明如何設定兩個 Rocky8 網頁伺服器虛擬機,使用 Nginx 並透過 80 埠的 HTTP 協定來託管網站。

/assets/network/lb_create_1.png /assets/network/lb_create_3.png

建立負載平衡器

  1. 導航至 專案 > 網路 > 負載平衡器 > + 建立負載平衡器

/assets/network/lb_create_2.png

  1. 建立負載平衡器前,需完成五個設定步驟。

    • 基本設定
    • 聽眾詳情
    • 泳池詳情
    • 會員詳情
    • 健康監測器詳情
  2. 基礎設定

    • 負載平衡器名稱:輸入所需的負載平衡器名稱。
    • 描述:負載平衡器的附加說明。
    • *自有網路:為負載平衡器選取所需的網路介面與子網路。
    • 管理狀態開啟:定義埠的管理狀態(預設為開啟)。

    /assets/network/lb_create_4.png

  3. 聽眾詳情

    • *監聽器名稱 : 輸入所需的監聽器名稱。

    • 聽取器描述:聽取器的附加說明。

    • *監聽器協定:選擇所需的監聽器協定。支援的協定類型如下所列

      • HTTP
      • TCP
      • HTTPS
      • 非同步用戶端通訊協定
    • *監聽器協定埠:透過上述選定的協定進行監聽的通訊埠。

    • *聆聽器連線限制:限制同時連線至聆聽器的連線數(預設值 -1)。

      -1 表示無連接限制

    • 管理狀態啟用:定義監聽器的管理狀態(預設為啟用)。

    • 自訂標頭:可選標頭,用於在請求傳送至後端成員前插入其中

      • X-Forwarded-For : 指定客戶端 IP 位址
      • X-Forwarded-Port:指定監聽端口

    /assets/network/lb_create_5.png

  4. 泳池詳情:

    • *池名稱:輸入所需的池名稱。

    • 泳池說明:泳池的補充說明。

    • 泳池演算法:選擇泳池所需的演算法。 下列為支援的演算法類型

      • 最少連結
      • 循環賽制
      • 來源IP
    • 泳池協議:選擇泳池所需的協議。 基於先前設定的 監聽器協議 選擇。

    • 管理員狀態開啟:定義群組的管理員狀態(預設為開啟)。

    /assets/network/lb_create_6.png

  5. 會員詳情

    從「選擇現有端口」中選取現有虛擬機。 點擊「新增成員」按鈕即可將成員加入「已選成員」清單。

    /assets/network/lb_create_7.png

    為所選虛擬機指派特定連接埠。

    /assets/network/lb_create_8.png

  6. 健康監測器詳情

    • 啟用健康監測:切換以啟用/停用健康監測(預設為啟用)。

    • *健康監測名稱:輸入所需的健康監測名稱。

    • *健康監測延遲:每次健康檢查回應的最大間隔時間(預設值為5)。

    • 健康監測最大重試次數:連續失敗的健康檢查次數將使後端雲端伺服器的狀態從正常切換為異常(預設值為 3)。

    • 健康監測超時:等待健康檢查請求返回的超時期間,若檢查超時將判定為檢查失敗(預設值為3)。

    • *健康監測類型:選擇所需的健康監測協定。 基於先前設定的 監聽器協議 選擇。

    • 管理狀態開啟:定義健康監測器的管理狀態(預設為開啟)。

    /assets/network/lb_create_9.png

  7. 啟動負載平衡器,確認負載平衡器的狀態將顯示為 Pending Create

    /assets/network/lb_create_10.png

  8. 請等待負載平衡器狀態變更為 Activate

    /assets/network/lb_create_11.png

  9. 透過存取網站來驗證負載平衡器的可靠性。 終止或為池中的虛擬機新增負載以進行測試。

    /assets/network/lb_create_12.png
    /assets/network/lb_create_13.png