您可以在處於主動/主動模式的 vSAN 延伸叢集中設定和使用 NSX Advanced Load Balancer。
NSX Advanced Load Balancer 元件
NSX Advanced Load Balancer 包括下列元件:
- NSX Advanced Load Balancer Controller.控制器是單一管理和控制點,用於管理 NSX Advanced Load Balancer 服務引擎的生命週期和組態。此控制器通常部署在 主管 外部。
- Avi Kubernetes Operator (AKO)。AKO 監視 Kubernetes 資源,並與控制器通訊以請求類型為 LoadBalancer 的相應服務。
- NSX Advanced Load Balancer 服務引擎。服務引擎是數據平面虛擬機器,為 主管 和 主管 工作負載請求的負載平衡器服務實作虛擬服務。這些服務引擎通常部署在 主管 外部,並且必須可路由到工作負載所在的 vSphere 命名空間網路分散式虛擬連接埠群組。服務引擎僅支援單複本部署。
如需安裝和設定 NSX Advanced Load Balancer 的相關程序,請參閱安裝和設定 vSphere IaaS 控制平面。
在計劃使用
NSX Advanced Load Balancer 時,請注意以下考量事項和限制:
- 建立服務引擎群組
- 服務引擎是在服務引擎群組中建立的。每個群組充當一個隔離網域,因為其中包含與如何調整服務大小、放置服務以及實現高可用性相關的定義。 vSphere IaaS control plane 使用 Default-Group 範本按 主管 設定服務引擎群組。目前,AKO 已與 主管 整合,因此,當需要將類型為 LoadBalancer 的新服務協調到服務引擎時, NSX Advanced Load Balancer Controller 會自動根據 Default-Group 部署服務引擎。
- 在 HA 模式下部署 NSX Advanced Load Balancer Controller。
-
由於控制器是單一管理和控制點,因此建議將其部署在三節點叢集中。控制器層級 HA 需要一個仲裁數才能正常運作。如果其中一個控制器節點出現故障,其餘兩個節點將繼續處於作用中狀態,但如果兩個節點出現故障,則整個叢集都會出現故障。在將三個控制器節點分散到 vSAN 延伸叢集的兩個站台方面沒有可用性優勢。在下列情況下,站台容錯保持相同:
- 站台 1 具有兩個節點,站台 2 具有一個節點,且站台 1 出現故障,則整個叢集都會出現故障。當站台 2 出現故障時,站台故障容錯機率為 50%。
- 三個節點全部放置在同一站台上。當沒有節點的站台出現故障時,站台故障容錯機率為 50%。
將三個控制器節點全部放置在同一站台上有助於降低延遲,因為三個控制器會不斷相互交換資訊,並且要求來回行程時間少於 20 毫秒。
主動/主動部署中 NSX Advanced Load Balancer 元件的放置
- NSX Advanced Load Balancer Controller
-
在 vSAN 延伸叢集的同一站台上,將三個
NSX Advanced Load Balancer 控制器部署為 HA 叢集。
通常,NSX Advanced Load Balancer 控制器部署在 主管 或工作負載叢集外部,如果這些控制器僅用於工作負載,則不能部署在 vSAN 延伸叢集上。但是,您可以在 vSAN 延伸拓撲中部署 NSX Advanced Load Balancer。
由於 Default-Group 的限制,如果多個 主管 共用同一 NSX Advanced Load Balancer Controller,則該控制器會協調來自同一 Default-Group 服務引擎群組的服務,這意味著服務引擎在 主管 之間共用。為避免在 主管 之間共用服務引擎,您可能需要為每個 主管 部署不同的 NSX Advanced Load Balancer Controller。在這種情況下,NSX Advanced Load Balancer Controller 可能與執行 主管 的同一 vSAN 延伸叢集中的工作負載一起執行。
- NSX Advanced Load Balancer 服務引擎
- Default-Group 的服務引擎可以在工作負載叢集上執行,也可以在其外部執行。在任一案例中,請在 vSAN 延伸叢集的站台 1 和站台 2 之間均勻部署服務引擎。
主動/主動部署中 NSX Advanced Load Balancer 元件的主機相似性規則
- NSX Advanced Load Balancer Controller
-
執行下列步驟:
- 建立具有三個控制器的虛擬機器群組。例如,AviControllerVmGroup。
- 建立包含站台 1 的所有 ESXi 主機的主機群組。例如,HostGroup-A。
- 在 AviControllerVmGroup 和 HostGroup-A 之間建立一個 should 虛擬機器-主機相似性規則。
- 如果每個站台具有至少三個 ESXi 主機,請在三個控制器虛擬機器之間建立虛擬機器-虛擬機器反相似性規則。如需詳細資訊,請參閱 VCF 說明文件。
備註: 在每個站台中的主機少於三個時建立反相似性規則可能會阻止開啟一或多個控制器的電源。
- NSX Advanced Load Balancer 服務引擎
-
執行下列步驟:
- 為 Default-Group 的一半服務引擎虛擬機器建立虛擬機器群組。例如,AviSEVmGroup-A。
- 為 Default-Group 的其餘服務引擎虛擬機器建立虛擬機器群組。例如,AviSEVmGroup-B。
- 按照放置一節中所述,將服務引擎部署到這兩個群組。
- 在 AviSEVmGroup-A 和 HostGroup-A 之間建立一個 should 虛擬機器-主機相似性規則。
- 在 AviSEVmGroup-B 和 HostGroup-B 之間建立一個 should 虛擬機器-主機相似性規則。
- 建立反相似性規則,以將服務引擎放置在不同的主機上。
備註: 如果需要建立的服務引擎數目超過 ESXi 主機數目,反相似性規則可能不允許進行虛擬機器放置、vMotion 和重新啟動。