IBM Cloud Docs
Red Hat OpenShift NSX DLR配置

Red Hat OpenShift NSX DLR配置

NSX 分布式逻辑路由器用于支持 Red Hat® OpenShift® 4.7 环境。 要使用这些信息,必须了解如何创建这些组件并添加配置。

查看 添加分布式逻辑路由器。 如果您希望使用此方法,可采用提供的 PowerNSX 命令。

NSX DLR

NSX 分布式逻辑路由器作为内核模块在每个主机的系统管理程序中运行,并针对东西路由进行了优化。 (可选)可以安装 DLR 控制 VM。 需要 DLR 控制 VM 来与 NSX Edge 和 NSX 控制器建立对等连接,以进行动态路由(OSPF 或 BGP)更新。 在此部署中,使用了静态路由。 但是,我们将部署 DLR 控制 VM,以防您需要使用路由协议。

NSX DLR Control虚拟机被配置为一对主动和被动设备。 在配置过程中,DLR控制虚拟机以紧凑的尺寸部署,NSX DLR连接到 Red Hat OpenShift 边缘。

NSX DLR 部署
组件 配置
CPU 1 个 vCPU
RAM 1 GB
磁盘 4.5 GB VMDK,位于共享存储器上,具有 4 GB 交换空间

由于 NSX DLR 控制虚拟机配置为主动-被动,因此必须创建 vSphere Distributed Resource Scheduler (DRS) anti-affinity 规则。 这些规则可确保 NSX 边缘不会与各自的对等设备运行在同一主机上。

NSX DLR 反亲和性规则
字段
名称 OpenShift-DLR
Type 独立虚拟机
成员 OpenShift-DLR-0
OpenShift-DLR-1

NSX DLR 接口

NSX DLR在 Red Hat OpenShift NSX Edge和 Red Hat OpenShift 逻辑交换机之间部署了一个传输网络。 Edge 定义为上行链路接口,逻辑交换机定义为内部接口。

NSX DLR 的配置 - 接口
接口名称 接口类型 IP 地址 端口组或逻辑开关
OpenShift-LS 内部 192.168.133.1 OpenShift-LS
OpenShift-Transit 上行链路 192.168.100.2/24 OpenShift-Transit

NSX DLR 防火墙

DLR 防火墙配置为已打开。

NSX DLR - NSX 防火墙的配置
防火墙规则 目标 服务 操作
缺省值 任意 任意 任意 接受

NSX DLR 路径

在边缘,默认路由被配置为通过传输网络连接到 Red Hat OpenShift 边缘。

全局配置

NSX Edge 的配置 - 全局配置
全局配置 vNIC 网关 IP 地址
缺省网关 Transit-Uplink 192.168.100.1

NSX DHCP 中继

对于 Red Hat OpenShift 4.7 环境,与DHCP服务的连接在 Red Hat OpenShift 边缘运行。

NSX Edge 的配置 - DHCP 中继
DCHP 中继
IP 地址 192.168.101.1
NSX Edge 的配置 - DHCP 中继代理
DCHP 中继
名称 OpenShift-LS
网关 IP 192.168.133.1

PowerNSX 命令

查看以下示例,您可以使用这些 PowerNSX 命令来自动配置和配置NSX DLR。

使用下表来记录部署所需的参数。 显示的示例与先前描述的部署相匹配。

PowerNSX DLR 参数
参数 示例 您的部署
vCenter Server IP 地址
vCenter 服务器用户
vCenter Server 密码
传输逻辑交换机 OpenShift-Transit
OpenShift 逻辑交换机 OpenShift-LS
上行链路 IP 地址 192.168.100.2
内部 IP 地址 192.168.133.1
DLR 名称 OpenShift-DLR
vCenter Server 实例集群 cluster1
vCenter Server 实例数据存储 vsanDatastore
# Connect to NSX Manager
Connect-NsxServer -vCenterServer <IP_Address> -User <UserName> -Password '<Password>'

# Create DLR interface specifications and then create DLR
$uplinkLif = New-NsxLogicalRouterInterfaceSpec -Name ToESG -Type uplink -ConnectedTo (Get-NsxLogicalSwitch OpenShift-Transit) -PrimaryAddress 192.168.100.2 -SubnetPrefixLength 24
$internalLif = New-NsxLogicalRouterInterfaceSpec -Name ToLS -Type internal -ConnectedTo (Get-NsxLogicalSwitch OpenShift-LS) -PrimaryAddress 192.168.133.1 -SubnetPrefixLength 24
$haLif = New-NsxLogicalRouterInterfaceSpec -Name ToHA -Type internal -ConnectedTo (Get-NsxLogicalSwitch OpenShift-HA)
New-NsxLogicalRouter -Name OpenShift-DLR -ManagementPortGroup (Get-NsxLogicalSwitch OpenShift-HA) -Interface $uplinkLif,$internalLif,$haLif -Cluster (Get-Cluster cluster1) -EnableHA -Datastore (Get-Datastore vsanDatastore)

# Configure the default gateway on the DLR to be the ESG
$uplinkVnic = Get-NsxLogicalRouter OpenShift-DLR | Get-NsxLogicalRouterInterface "ToESG"
$uplinkVnicId = $uplinkVnic.index
Get-NsxLogicalRouter OpenShift-DLR | Get-NsxLogicalRouterRouting | Set-NsxLogicalRouterRouting -DefaultGatewayVnic $uplinkVnicId -DefaultGatewayAddress 192.168.100.1 -Confirm:$false

# Configure the default firewall rule on the DLR to "allow"
$dlr = Get-NsxLogicalRouter OpenShift-DLR
$dlr.features.firewall.defaultpolicy.action = "Accept"
$dlr | Set-NsxLogicalRouter -Confirm:$false

# Configure DHCP relay on DLR
$dlrID = (Get-NsxLogicalRouter -Name "OpenShift-DLR").Id
$internalLifVnicId = (Get-NsxLogicalRouter OpenShift-DLR | Get-NsxLogicalRouterInterface "ToLS").index
$uri = "/api/4.0/edges/$($dlrID)/dhcp/config/relay"
$xmlPayload = "
  <relay>
  <relayServer>
    <ipAddress>192.168.100.1</ipAddress>
  </relayServer>
  <relayAgents>
    <relayAgent>
      <vnicIndex>$($internalLifVnicId)</vnicIndex>
      <giAddress>192.168.133.1</giAddress>
    </relayAgent>
  </relayAgents>
 </relay>"

$null = invoke-nsxwebrequest -method "put" -uri $uri -body $xmlPayload -connection $nsxConnection

# Disconnect
Disconnect-NsxServer