本節說明如何在 NSX Manager 原則模式中設定資源。
在 NCP 組態檔 ncp.ini 中,您可以使用 NSX-T 資源的 UUID 或名稱來指定。
閘道和區段
- 建立 Kubernetes 節點的區段,例如 ocp4-segment。
- 建立第 0 層閘道,例如 T0GW1。如果您沒有共用的第 1 層拓撲,請將 ncp.ini 的 [nsx_v3] 區段中的 top_tier_router 選項設定為閘道的識別碼。請參閱以下有關設定共用的第 1 層拓撲的資訊。如果您計劃在此閘道上設定 NAT 規則,請將 HA 模式設定為作用中/待命。否則,請將其設為作用中/作用中式。啟用路由重新分配。同時,請設定此閘道以存取外部網路。
- 建立第 1 層閘道,例如 T1GW1。將此閘道連線至第 0 層閘道。
- 設定 T1GW1 的路由器通告。至少應啟用 NSX 連線和 NAT 路由。
- 將 T1GW1 連線至 ocp4-segment。請確定閘道連接埠的 IP 位址不會與 Kubernetes 節點的 IP 位址衝突。
- 對於每個節點虛擬機器,請確定容器流量的 vNIC 已連結至自動建立的區段。您可以在中找到與區段相同的名稱 (即 ocp4-segment)。
- 如果您使用 DHCP,則可以在節點的區段上提供 DHCP 靜態繫結。
- 標籤:<cluster_name>,範圍:ncp/cluster
- 標籤:<node_name>,範圍:ncp/node_name
附註:不需要手動新增上述標籤。它們將由 NCP 網路 Operator 自動新增。
Kubernetes 網繭的 IP 區塊
networking:
networkType: ncp
clusterNetwork:
- cidr: 10.4.0.0/16
hostPrefix: 23
machineCIDR: 10.114.16.0/24
serviceNetwork:
- 172.30.0.0/16
Openshift 4 介面卡將針對 install-config.yaml 檔案中所設定的每個 CIDR 建立一個新的 IP 區塊。如果有任何現有的 IP 區塊具有相同的 CIDR,則必須小心處理。不建議使用重疊的 IP 區塊,因為 NCP 會啟用第 0 層和第 1 層之間的已連線子網路路由通告。
外部 IP 集區
外部 IP 集區用來配置 IP 位址,從而用於使用 SNAT 規則轉譯網繭 IP,以及用於使用 SNAT/DNAT 規則公開入口控制站和 LoadBalancer 類型的服務,如同 Openstack 浮動 IP。這些 IP 位址也稱為「外部 IP」。
導覽至來建立 IP 集區。將 ncp.ini (NCP 網路 Operator 的一部分) 的 [nsx_v3] 區段中的 external_ip_pools 選項設定為 IP 集區的 UUID。如果您想要 NCP 自動建立 IP 集區,您可以使用採用 CIDR 格式或 IP 範圍、以逗點分隔的地址清單來設定 external_ip_pools 選項。
多個 Kubernetes 叢集會使用相同的外部 IP 集區。每個 NCP 執行個體皆會針對其管理的 Kubernetes 叢集使用此集區的子網路。依預設,系統會使用網繭子網路的相同子網路首碼。如需使用不同的子網路大小,請更新 ncp.ini 之 [nsx_v3] 區段中的 external_subnet_prefix 選項。
部署叢集後,您可以透過變更 nsx-system-operator 專案中的 nsx-ncp-operator-config configmap,以變更為不同的 IP 集區。
共用的第 1 層拓撲
下圖說明共用的第 1 層拓撲。
- 將 top_tier_router 選項設定為第 1 層閘道的識別碼。將第 1 層閘道連線至第 0 層閘道以進行外部連線。
- 將 single_tier_topology 選項設定為 True。預設值是 False。
- 如果想要 NCP 自動將頂層路由器設定為第 1 層閘道,請取消設定 top_tier_router 選項,並設定 tier0_gateway 選項。NCP 將建立第 1 層閘道,並將其上行連接至 tier0_gateway 選項中指定的第 0 層閘道。