在 vSphere IaaS control plane 環境中,主管 可以使用 vSphere 網路堆疊或 NSX,以提供與 主管 控制平面虛擬機器、服務和工作負載的連線。
如果 主管 設定了 vSphere 網路堆疊,則 主管 中的所有主機都將連線到 vDS,以提供與工作負載和 主管 控制平面虛擬機器的連線。使用 vSphere 網路堆疊的 主管 需要 vCenter Server 管理網路上具有負載平衡器,以提供與 DevOps 使用者和外部服務的連線。
- NSX 版本為 4.1.1 或更新版本。
- NSX Advanced Load Balancer 版本為具有 Enterprise 授權的 22.1.4 或更新版本。
- 您計劃設定的 NSX Advanced Load Balancer Controller 已在 NSX 上登錄。
- 尚未在 主管 上設定 NSX 負載平衡器。
使用 VDS 的 主管 網路
在由作為網路堆疊的 VDS 支援的 主管 中,支援 主管 的 vSphere 叢集中的所有主機必須連線到相同的 VDS。主管 使用分散式連接埠群組作為 Kubernetes 工作負載和控制平面流量的工作負載網路。將工作負載網路指派給 主管 中的命名空間。
您可以使用一或多個分散式連接埠群組作為工作負載網路,具體取決於您為 主管 實作的拓撲。提供 主管 控制平面虛擬機器連線的網路稱為主要工作負載網路。您可以將此網路指派給 主管 上的所有命名空間,也可以對每個命名空間使用不同的網路。Tanzu Kubernetes Grid 叢集將連線至指派給叢集所在命名空間的工作負載網路。
VDS 支援的 主管 使用負載平衡器來提供與 DevOps 使用者和外部服務的連線。您可以使用 NSX Advanced Load Balancer 或 HAProxy 負載平衡器。
如需詳細資訊,請參閱安裝和設定 NSX Advanced Load Balancer 和安裝和設定 HAProxy 負載平衡器。
在單一叢集 主管 設定中,只有一個 vSphere 叢集支援 主管。叢集中的所有主機都必須連線到 VDS。
![設定了 VDS 網路堆疊的 主管 的網路架構。](images/GUID-987B0158-E5B2-4030-8471-EEAB37A8F7BE-high.png)
在三區域 主管 中,在三個 vSphere 區域上部署 主管,每個區域都將對應至 vSphere 叢集。這些 vSphere 叢集中的所有主機都必須連線到相同的 VDS。所有實體伺服器都必須連線到 L2 裝置。為命名空間設定的工作負載網路跨越所有三個 vSphere 區域。
![在三個 vSphere 區域上執行的 主管 的網路架構,其中每個工作負載網路均跨越所有三個區域。](images/GUID-85A7A784-BD9D-4F9E-98E6-6F33351F8C65-high.png)
使用 NSX 進行 主管 網路連線
NSX 提供 主管 內的物件和外部網路的網路連線。與構成叢集的 ESXi 主機的連線是由標準 vSphere 網路處理。
您也可以透過使用現有的 NSX 部署或部署 NSX 的新執行個體,來手動設定 主管 網路。
如需詳細資訊,請參閱〈安裝和設定 NSX for vSphere IaaS control plane〉。
![設定了 NSX 網路堆疊的 主管 的網路架構。](images/GUID-3ACAC5F4-AC41-4602-A648-E4D02449B7BA-high.png)
- NSX Container Plugin (NCP) 提供 NSX 和 Kubernetes 之間的整合。NCP 的主要元件會在容器中執行,並與 NSX Manager 和 Kubernetes 控制平面進行通訊。NCP 會監控容器和其他資源的變更,並透過呼叫 NSX API 來管理容器的網路資源,例如邏輯連接埠、區段、路由器和安全群組。
依預設,NCP 會為系統命名空間建立一個共用的第 1 層閘道,並為每個命名空間建立第 1 層閘道和負載平衡器。第 1 層閘道會連線至第 0 層閘道和預設區段。
系統命名空間是指對 主管 和 Tanzu Kubernetes Grid 叢集正常運作非常重要的核心元件所使用的命名空間。包括第 1 層閘道、負載平衡器和 SNAT IP 的共用網路資源會分組到系統命名空間中。
- NSX Edge 提供從外部網路到 主管 物件的連線。NSX Edge 叢集具有負載平衡器,可為位於 主管 控制平面虛擬機器上的 Kubernetes API 伺服器以及必須發佈並可從 主管 外部存取的任何應用程式提供備援。
- 第 0 層閘道會與 NSX Edge 叢集相關聯,以提供對外部網路的路由。上行介面使用動態路由通訊協定、BGP 或靜態路由。
- 每個 vSphere 命名空間 各有不同的網路和一組由命名空間內的應用程式共用的網路資源,例如,第 1 層閘道、負載平衡器服務和 SNAT IP 位址。
- 在相同命名空間中的 vSphere 網繭、一般虛擬機器或 Tanzu Kubernetes Grid 叢集中執行的工作負載,將共用同一個 SNAT IP 以進行南北向連線。
- 在 vSphere 網繭 或 Tanzu Kubernetes Grid 叢集中執行的工作負載將具有預設防火牆實作的相同隔離規則。
- 每個 Kubernetes 命名空間不需要單獨的 SNAT IP。命名空間之間的東西向連線不會是 SNAT。
- 每個命名空間的區段位於在標準模式下運作且與 NSX Edge 叢集相關聯的 VDS 上。區段可提供 主管 的覆疊網路。
- 主管 在共用的第 1 層閘道內具有單獨的區段。對於每個 Tanzu Kubernetes Grid 叢集,會在命名空間的第 1 層閘道內定義區段。
- 每個 ESXi 主機上的 Spherelet 程序會透過管理網路上的介面與 vCenter Server 進行通訊。
在設定了 主管 作為網路堆疊的三區域 NSX 中,對應至區域的所有三個 vSphere 叢集中的所有主機都必須連線到相同的 VDS 並參與同一個 NSX 覆疊傳輸區域。所有主機都必須連線到同一個 L2 實體裝置。
![在三個區域上執行的具有 NSX 網路的 主管 的網路架構。工作負載網路的區段跨所有三個區域。](images/GUID-58F31781-A42A-45EB-985C-1F5F5D8F8DF7-high.png)
使用 NSX 和 NSX Advanced Load Balancer 的 主管 網路
NSX 提供 主管 內的物件和外部網路的網路連線。設定了 NSX 的 主管 可以使用 NSX Edge 或 NSX Advanced Load Balancer。
NSX Advanced Load Balancer 的元件包括 NSX Advanced Load Balancer Controller 叢集、服務引擎 (數據平面) 虛擬機器和 Avi Kubernetes Operator (AKO)。
NSX Advanced Load Balancer Controller 與 vCenter Server 互動,以對 Tanzu Kubernetes Grid 叢集自動執行負載平衡。它負責佈建服務引擎、在服務引擎之間協調資源,以及彙總服務引擎度量和記錄。控制器為使用者作業和程式設計整合提供了 Web 介面、命令列介面和 API。部署並設定控制器虛擬機器後,可以部署控制器叢集來為控制平面叢集設定 HA。
服務引擎是數據平面虛擬機器。服務引擎執行一或多個虛擬服務。服務引擎由 NSX Advanced Load Balancer Controller 管理。控制器會佈建服務引擎以主控虛擬服務。
- 第一種網路介面是虛擬機器的
vnic0
,會連線至管理網路,它可在其中連線至 NSX Advanced Load Balancer Controller。 - 剩餘介面
vnic1 - 8
會連線至虛擬服務執行所在的資料網路。
服務引擎介面會自動連線至正確的 vDS 連接埠群組。每個服務引擎最多可支援 1000 個虛擬服務。
虛擬服務可為 Tanzu Kubernetes Grid 叢集工作負載提供第 4 層和第 7 層負載平衡服務。為虛擬服務設定了一個虛擬 IP 和多個連接埠。部署虛擬服務時,控制器會自動選取 ESX 伺服器、啟動服務引擎,以及將其連線至正確的網路 (連接埠群組)。
第一個服務引擎僅在第一個虛擬服務設定完成之後建立。任何後續已設定的虛擬服務均會使用現有的服務引擎。
每個虛擬伺服器都會為 Tanzu Kubernetes Grid 叢集公開具有類型為負載平衡器之不同 IP 位址的第 4 層負載平衡器。設定時,會從為控制器指定的 IP 位址區塊中,選取指派給每個虛擬伺服器的 IP 位址。
Avi Kubernetes Operator (AKO) 會監視 Kubernetes 資源,並與 NSX Advanced Load Balancer Controller 通訊以要求對應的負載平衡資源。Avi Kubernetes Operator 將在啟用過程中安裝到 主管 上。
如需詳細資訊,請參閱〈安裝及設定 NSX 和 NSX Advanced Load Balancer〉。
![設定了 NSX 網路堆疊和 NSX Advanced Load Balancer 的 主管 的網路架構。](images/GUID-745DF0C0-F926-404D-9AE1-FD1D10151B97-high.png)
![在三個區域上執行的具有 NSX 網路和 NSX Advanced Load Balancer Controller 的 主管 的網路架構。工作負載網路的區段跨所有三個區域。](images/GUID-A3F2281B-5350-4010-81D0-F1CDA4A41DD2-high.png)
- 無法在 vCenter Server 增強型連結模式部署中部署 NSX Advanced Load Balancer Controller。只能在單個 vCenter Server 部署中部署 NSX Advanced Load Balancer Controller。如果連結了多個 vCenter Server,則在設定 NSX Advanced Load Balancer Controller 時只能使用其中一個。
- 無法在多層第 0 層拓撲中設定 NSX Advanced Load Balancer Controller。如果為 NSX 環境設定了多層第 0 層拓撲,則在設定 NSX Advanced Load Balancer Controller 時只能使用一個第 0 層閘道。
與 NSX 的網路連線設定方法
- 設定 主管 網路的最簡單方式是使用 VMware Cloud Foundation SDDC Manager。如需詳細資訊,請參閱 VMware Cloud Foundation SDDC Manager 說明文件。如需相關資訊,請參閱《VMware Cloud Foundation 管理指南》。
- 您也可以透過使用現有的 NSX 部署或部署 NSX 的新執行個體,來手動設定 主管 網路。如需詳細資訊,請參閱〈安裝和設定 NSX for vSphere IaaS control plane〉。