Red Hat OpenShift 中適用於 vSphere 管理員的 Open Virtual Network (OVN) 網路功能
了解 Red Hat OpenShift on IBM Cloud 中的開放虛擬網路 (OVN) 架構與 NSX-T 的差異,以及如何使用使用者定義網路 (UDN)、叢集使用者定義網路 (CUDN) 和 Localnet 等網路類型。
如果您曾使用過 NSX-T,您應該已經理解其核心概念。 開放式虛擬網路(OVN)是內建於 OpenShift 中的軟體定義網路層。 它取代了舊版的 Calico 網路堆疊,其運作方式與NSX-T取代標準 vSwitches, 相同——即將網路智慧轉移至軟體中,而非依賴底層的實體網路。 OVN 負責處理所有內部叢集網路相關事務:虛擬機器之間如何相互通訊、如何連線至外部網路,以及如何在租戶或工作負載之間隔離流量。
在部署新的 ROKS 叢集時,您需於部署階段選擇 OVN 或 Calico 其中一種。 兩者之間沒有遷移路徑,就像您無法在未經規劃的過渡情況下,於正在運行的 VM 環境中,在標準的 vSwitch 與 dvSwitch 之間切換一樣。
OVN 是內建於 Red Hat OpenShift on IBM Cloud 中的軟體定義網路層。 與 NSX-T 取代標準 vSwitches, 的方式類似,OVN 透過將網路智慧轉移至軟體中,而非依賴底層的實體網路,從而取代了較舊的 Calico 網路堆疊。 OVN 負責處理所有內部叢集網路相關事務,包括虛擬機器之間的通訊方式、其連線至外部網路的方式,以及如何在租戶或工作負載之間隔離流量。
當您部署新的 Red Hat® OpenShift® on IBM Cloud® 叢集時,必須在部署階段選擇 OVN 或 Calico 其中一種,因為兩者之間沒有遷移路徑。 要在網路堆疊之間切換,必須事先規劃過渡流程,這與在運行中的虛擬機器上,於標準 vSwitch 與 dvSwitch 之間切換的情況類似。
網路類型
下表將 OVN 概念對應至常見的 vSphere 結構:
| OVN 概念 | vSphere 等同於 |
|---|---|
| UDN 或 CUDN | NSX 邏輯區段或 dvPortGroup |
| 叢集基礎架構網路(主要) | 後台基礎架構 — 系統健康檢查、DNS、Kubernetes 服務 |
| VM 工作負載網路(次要) | 您的實際 VM 網路 — 您的應用程式所使用的 IP 位址 |
| 假冒 | 網路位址轉換(NAT)網路 — 虛擬機器可向外連線,但沒有任何流量能直接進入 |
| 第二層 次級 | 隔離的 NSX 覆蓋區段 — 靜態 IP 位址、完全控制權 |
| 第 2 層 主要 | 透過 BGP 上行鏈路與實體網路連接的路由化 NSX 區段 |
| Localnet | 基於 VLAN 的 dvPortGroup —— 直接透傳至實體網路 |
UDN 與 CUDN
Red Hat OpenShift 將工作負載分組至命名空間中。 不妨將命名空間視為資源池或資料夾,用以將一個應用程式或團隊與另一個隔離開來。 網路定義也遵循相同的模式:
- 使用者自訂網路 (UDN)
- 範圍限定於單一命名空間——相當於僅能由單一叢集或資料夾使用的埠組。
- 叢集使用者自訂網路 (CUDN)
- 可橫跨多個命名空間——相當於一個可從多個叢集存取的共用 dvPortGroup。
通常會配置 CUDN,因為它們更具彈性,且能避免為每個需要存取相同區段的命名空間重複定義網路設定。
叢集基礎架構網路與 VM 工作負載網路之比較
由於相關術語與直覺相悖,因此理解這個概念至關重要。 OVN 會將網路標記為主網路或次要網路,但這些名稱僅描述它們在 Red Hat OpenShift on IBM Cloud 叢集中的角色,而非它們對您的虛擬機器的重要性。 對應關係如下:
- 叢集基礎架構網路(主要)
- 負責處理 Kubernetes 內部流量的後台基礎架構,例如狀態檢查、服務發現、負載平衡器的虛擬 IP 位址(VIP)以及內部 DNS。 通常,您的虛擬機器不會使用此網路來傳輸應用程式流量。 將其維持為假面舞會網路。 此網路必須存在,才能讓 Red Hat OpenShift on IBM Cloud 內的內部 Pod 和服務持續運作。
- VM 工作負載網路(次要)
- 虛擬機器運行於何處。 您的應用程式使用此網路,您透過 SSH 連線至其 IP 位址,並管理其子網。 由於這是次要網路,您可以完全掌控 IP 位址的分配,包括靜態指派。 對於幾乎所有虛擬機器工作負載而言,此網路都是最佳選擇。
從虛擬機的角度來看,這種命名方式似乎有悖直覺。 從叢集的角度來看,「主要」指的是「叢集自身的網路」,而「次要」則指「您所連接的其他所有網路」 對於虛擬機器工作負載而言,「次要」絕非事後才考慮的因素。 此網路是主網路。
命名空間不需要叢集基礎架構網路。 如果您的虛擬機器不需要「Kubernetes」服務、負載平衡器或內部 DNS,您可以跳過此步驟,僅運行次要網路。
網路拓蹼
Masquerade - 叢集基礎架構網路 (NAT)
請將此網路作為叢集基礎架構主要網路以及在叢集中運行的 Pod 的標準選擇。 若將其用於虛擬機器網路,其運作方式就像是位於 NSX Edge 上某個 NAT 規則後方的虛擬機器:
- 虛擬機器可以向外部世界建立外連。
- 虛擬機器無法直接接收來自外部來源的傳入連線。 流量必須經過負載平衡器或服務,這就像您在 NSX Edge 上使用目的地 NAT(DNAT)規則來公開服務一樣。
- 虛擬機器採用自動 IP 位址分配。 這不是由你來管理的。
- 虛擬機器可使用 Kubernetes 的完整網路功能,包括負載平衡器、服務、網路原則及 DNS。
某些邊緣使用情境可能需要為您的虛擬機器設定「masquerade」網路,例如當您的虛擬機器需要直接存取 Kubernetes 服務時。 然而,大多數虛擬機器的使用情境並未採用偽裝網路。
第 2 層主要網路 — 可直接路由的虛擬機器網路(BGP 上行鏈路)
此拓撲結構等同於一個與已啟用 BGP 路由重新分發功能的 Tier-0 閘道相連的 NSX 覆蓋區段。 當您需要讓虛擬機器能直接從外部網路存取,而無需經過負載平衡器或 NAT 時,請使用這個較不常見的選項:
- 虛擬機器直接從該區段的子網獲取 IP 位址,並可透過路由從外部存取。
- 外部網路是透過各工作節點發出的 BGP 路由通告,來連接到個別虛擬機器。 此方法與 NSX Edge 服務路由器 (SR) 在重新分發連接路徑時所執行的操作相當。
- 虛擬機器支援多播和廣播。
- 當您啟用第 2 層主要網路時,命名空間無法使用偽裝功能。 這兩者無法並存。
目前 VPC 不支援動態路由服務(邊界閘道協定 (BGP)),因此必須使用包含下一跳的自訂 VPC 路由。
IP 位址分配採用「先到先得」的 DHCP 系統。 在虛擬機器的生命週期內,IP 位址不會變更,但您無法預先將特定的 IP 位址指派給特定的虛擬機器。 若您需要靜態 IP 位址,請改用第二層次網路。
某些邊緣使用情境可能需要為您的虛擬機器配置主要網路,例如當您的虛擬機器需要直接存取 Kubernetes 服務時。 然而,大多數虛擬機的使用情境並不會使用主網路。
第 2 層次級網路 — 虛擬機器工作負載網路(隔離區段)
幾乎所有虛擬機器的使用情境,都應採用此網路類型。 此拓撲結構相當於一個沒有外部上行鏈路的 NSX 覆蓋區段:一個由您完全掌控的專用區段。
- 此網路支援靜態 IP 位址指派。 您負責管理 IP 位址分配,這也是虛擬機器工作負載的一般預期。
- 此網路不會自動連線至外部世界。 若要提供外部存取,請將虛擬防火牆或路由器連接至該網段,其操作方式與在 vSphere 中將 NSX Edge 或 pfSense 虛擬機器連接至網段相同。
- 支援多播與廣播。
- 您可以將多個第 2 層次級網路連接到同一台虛擬機器上。 此設定有助於將應用程式、管理及儲存流量分流至不同的網路區段。
- 當網路配置為 CUDN 時,其範圍可跨越多個命名空間。
對於 Red Hat OpenShift 虛擬化中的大多數虛擬機器工作負載而言,此網路是最佳選擇。
Localnet - 直接 VLAN 穿透
此拓撲結構最接近於由 VLAN 支援的標準埠群組或分散式虛擬埠群組( dvPortGroup ),且不包含 NSX 覆蓋網路。 虛擬機器會直接連接到實體主機所連接的網路:
- 此拓撲結構未採用軟體定義網路(SDN)覆蓋層。 流量完全繞過 OVN 軟體交換機制。
- 此拓撲結構不提供 Red Hat OpenShift on IBM Cloud 的網路服務,例如負載平衡、網路政策或內部DNS。
- 此拓撲不包含內建的 IP 位址管理功能。 您可以透過 VPC 虛擬網路介面 (VNI) 來指派 IP 位址。
- 您需針對每個可用區域分別設定此拓撲。
- 此拓撲結構支援在同一台虛擬機器上建立多個區域網路。
若虛擬機器需要直接存取現有的 VPC 子網,請使用 localnet。 例如,您可以將一個透過特定 VLAN 與本地端系統通訊,或連接到叢集外部儲存網路的舊有工作負載進行遷移。
摘要
| 網路類型 | 角色 | 外部存取 | 靜態 IP 位址 | Kubernetes 服務 | 廣播/多播 |
|---|---|---|---|---|---|
| 假冒 | 叢集基礎架構 | 透過 NAT 進行外連 | 否 | 是 | 否 |
| 第 2 層主要 | 可直接路由的虛擬機器 | 是的,透過 BGP 路由 | 否(僅支援 DHCP) | 是 | 是 |
| 第二層次中學 | 虛擬機器工作負載網路 | 透過連接的路由器或防火牆 | 是 | 是 | 是 |
| Localnet | 實體 VLAN 直通 | 直接存取 VLAN | 手動 | 否 | 是 |
下一步
如需瞭解有關特定 OVN 網路選項的更多詳細資訊,請參閱以下相關主題: