跳至主要内容

負載平衡器

自 v1.2.0 起可用

Harvester 負載平衡器(LB)是一個內建的第 4 層負載平衡器,可將傳入流量分配到部署在 Harvester 虛擬機器(VM)或客體 Kubernetes 叢集上的工作負載。

VM 負載平衡器​

功能特點​

Harvester VM 負載平衡器支援以下功能:

  • 位址分配: 從 DHCP 伺服器或預先定義的 IP Pool 取得 LB IP 位址。
  • 協定支援: 支援 TCP 和 UDP 協定進行負載平衡。
  • 多重監聽器: 建立多個監聽器來處理不同連接埠或其他協定的傳入流量。
  • 標籤選擇器: LB 使用標籤選擇器來匹配後端伺服器。因此,您必須為要新增到 LB 的後端 VM 設定相應的標籤。
  • 健康檢查: 僅將流量傳送到健康的後端執行個體。

限制​

Harvester VM 負載平衡器有以下限制:

  • 命名空間限制: 此限制有助於權限管理,並確保 LB 僅使用與後端伺服器相同命名空間中的 VM。
  • 僅支援 IPv4: LB 僅相容 VM 的 IPv4 位址。
  • 需要安裝客體代理程式: 需要在每個後端 VM 上安裝客體代理程式以取得 IP 位址。
  • 連線需求: 必須在後端 VM 和 Harvester 主機之間建立網路連線。當 VM 有多個 IP 位址時,LB 會選擇第一個作為後端位址。
  • 存取限制: VM LB 位址僅在與 Harvester 主機相同的網路內公開。若要從網路外部存取 LB,您必須提供從外部到 LB 位址的路由。
備註

Harvester VM 負載平衡器不支援 Windows VM,因為客體代理程式不適用於 Windows VM。

如何建立​

若要建立新的 Harvester VM 負載平衡器:

  1. 前往 Networks > Load Balancers 頁面並選擇 Create。

  2. 選擇 Namespace 並指定 Name。

  3. 前往 Basic 標籤頁選擇 IPAM 模式,可以是 DHCP 或 IP Pool。如果您選擇 IP Pool,請先準備一個 IP Pool,指定 IP Pool 名稱,或選擇 auto。如果您選擇 auto,LB 會根據 IP Pool 選擇策略自動選擇一個 IP Pool。

  4. 前往 Listeners 標籤頁新增監聽器。您必須為每個監聽器指定 Port、Protocol 和 Backend Port。

  5. 前往 Backend Server Selector 標籤頁新增標籤選擇器。若要將 VM 新增到 LB,請前往 Virtual Machine > Instance Labels 標籤頁,為 VM 新增相應的標籤。

  6. 如果後端服務支援健康檢查,請前往 Health Check 標籤頁啟用健康檢查並指定參數,包括 Port、Success Threshold、Failure Threshold、Interval 和 Timeout。更多詳細資訊請參閱健康檢查。

健康檢查​

Harvester 負載平衡器支援 TCP 健康檢查。如果您已啟用 Health Check 選項,可以在 Harvester UI 中指定參數。

名稱值類型必填預設值描述
Health Check Portint是N/A指定連接埠。探測器將存取由後端伺服器 IP 和連接埠組成的位址。
Health Check Success Thresholdint否1指定健康檢查成功閾值。預設為停用。如果探測器連續成功偵測到某個位址的次數達到閾值,後端伺服器將開始轉發流量。
Health Check Failure Thresholdint否3指定健康檢查失敗閾值。預設為停用。如果健康檢查失敗次數達到閾值,後端伺服器將停止轉發流量。
Health Check Periodint否5指定健康檢查週期(以秒為單位)。預設為停用。
Health Check Timeoutint否3指定每次健康檢查的逾時時間(以秒為單位)。預設為停用。

客體 Kubernetes 叢集負載平衡器​

結合 Harvester Cloud Provider,Harvester 負載平衡器為客體叢集中的 LB 服務提供負載平衡。

當您在具有 Harvester Cloud Provider 的客體叢集上建立、更新或刪除 LB 服務時,Harvester Cloud Provider 會自動建立 Harvester LB。

更多詳細資訊請參閱 Harvester Cloud Provider。