本节介绍如何在 NSX Manager 策略模式下配置资源。

在 NCP 配置文件 ncp.ini 中,您可以使用 UUID 或名称指定 NSX-T 资源。

网关和分段

  1. 为 Kubernetes 节点创建分段,例如 ocp4-segment
  2. 创建 Tier-0 网关,例如 T0GW1。如果您没有共享的 Tier-1 拓扑,请在 ncp.ini[nsx_v3] 部分使用网关 ID 设置 top_tier_router 选项。有关配置共享 Tier-1 拓扑的信息,请参见下文。如果您打算在此网关上配置 NAT 规则,请将 HA 模式设置为活动-备用。否则,将其设置为活动-活动状态。启用路由重新分发。还要配置此网关以访问外部网络。
  3. 创建 Tier-1 网关,例如 T1GW1。将此网关连接到 Tier-0 网关。
  4. T1GW1 配置路由器通告。至少,应启用 NSX 连接和 NAT 路由。
  5. T1GW1 连接至 ocp4-segment。请确保网关端口的 IP 地址与 Kubernetes 节点的 IP 地址不冲突。
  6. 对于每个节点虚拟机,请确保容器流量的 vNIC 连接到自动创建的分段。您可以在网络 > 分段中找到该 vNIC,其名称与分段相同(即 ocp4-segment)。
  7. 如果使用 DHCP,可以在节点的分段上提供 DHCP 静态绑定。
NCP 必须知道 vNIC 的 VIF ID。您可以通过导航到 网络 > 分段查看自动创建的 ocp4-segment 的端口。这些端口不可编辑,但其标记属性除外。这些端口必须具有以下标记:
  • 标记:<cluster_name>,范围:ncp/cluster
  • 标记:<node_name>,范围:ncp/node_name

注意:无需手动添加上述标记。NCP 网络运营商将自动添加这些标记。

Kubernetes pod 的 IP 块

NCP 将自动创建 IP 块。NSX 网络运营商将在 install-config.yamlnetworking.clusterNetwork 部分中传递 cidr 参数的值。例如:
networking: 
  networkType: ncp 
  clusterNetwork: 
  - cidr: 10.4.0.0/16 
    hostPrefix: 23 
  machineCIDR: 10.114.16.0/24 
  serviceNetwork: 
  - 172.30.0.0/16 

外部 IP 池

将使用外部 IP 池分配 IP 地址,这些地址将用于通过 SNAT 规则转换 pod IP 以及通过 SNAT/DNAT 规则公开 Ingress 控制器和 LoadBalancer 型服务,就像 Openstack 浮动 IP 一样。这些 IP 地址也称为外部 IP。

导航到网络 > IP 地址管理 > IP 地址池以创建 IP 池。将 ncp.ini(NCP 网络运营商的一部分)的 [nsx_v3] 部分中的 external_ip_pools 选项设置为 IP 池的 UUID。如果希望 NCP 自动创建 IP 池,您可以使用 CIDR 格式的以逗号分隔的地址列表或 IP 范围设置 external_ip_pools 选项。

多个 Kubernetes 集群使用相同的外部 IP 池。每个 NCP 实例将该池的一部分用于它管理的 Kubernetes 集群。默认情况下,将使用 pod 子网的相同子网前缀。要使用不同的子网大小,请更新 ncp.ini[nsx_v3] 部分中的 external_subnet_prefix 选项。

部署集群后,可以通过更改 nsx-system-operator 项目中的 nsx-ncp-operator-config configmap 来更改为其他 IP 池。

共享的 Tier-1 拓扑

下图展示了一个共享 Tier-1 拓扑。

此拓扑仅适用于 Openshift 4。要设置此拓扑,请执行以下配置:
  • top_tier_router 选项设置为 Tier-1 网关的 ID。将 Tier-1 网关连接到 Tier-0 网关以实现外部连接。
  • single_tier_topology 选项设置为 True。默认值为 False
  • 如果希望 NCP 自动将顶层路由器配置为 Tier-1 网关,请取消设置 top_tier_router 选项并设置 tier0_gateway 选项。NCP 将创建一个 Tier-1 网关,并将其上行链接至 tier0_gateway 选项中指定的 Tier-0 网关。