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 边缘。
组件 | 配置 |
---|---|
CPU | 1 个 vCPU |
RAM | 1 GB |
磁盘 | 4.5 GB VMDK,位于共享存储器上,具有 4 GB 交换空间 |
由于 NSX DLR 控制虚拟机配置为主动-被动,因此必须创建 vSphere Distributed Resource Scheduler (DRS) anti-affinity 规则。 这些规则可确保 NSX 边缘不会与各自的对等设备运行在同一主机上。
字段 | 值 |
---|---|
名称 | OpenShift-DLR |
Type | 独立虚拟机 |
成员 | OpenShift-DLR-0 OpenShift-DLR-1 |
NSX DLR 接口
NSX DLR在 Red Hat OpenShift NSX Edge和 Red Hat OpenShift 逻辑交换机之间部署了一个传输网络。 Edge 定义为上行链路接口,逻辑交换机定义为内部接口。
接口名称 | 接口类型 | IP 地址 | 端口组或逻辑开关 |
---|---|---|---|
OpenShift-LS | 内部 | 192.168.133.1 |
OpenShift-LS |
OpenShift-Transit | 上行链路 | 192.168.100.2/24 |
OpenShift-Transit |
NSX DLR 防火墙
DLR 防火墙配置为已打开。
防火墙规则 | 源 | 目标 | 服务 | 操作 |
---|---|---|---|---|
缺省值 | 任意 | 任意 | 任意 | 接受 |
NSX DLR 路径
在边缘,默认路由被配置为通过传输网络连接到 Red Hat OpenShift 边缘。
全局配置
全局配置 | vNIC | 网关 IP 地址 |
---|---|---|
缺省网关 | Transit-Uplink | 192.168.100.1 |
NSX DHCP 中继
对于 Red Hat OpenShift 4.7 环境,与DHCP服务的连接在 Red Hat OpenShift 边缘运行。
DCHP 中继 | 值 |
---|---|
IP 地址 | 192.168.101.1 |
DCHP 中继 | 值 |
---|---|
名称 | OpenShift-LS |
网关 IP | 192.168.133.1 |
PowerNSX 命令
查看以下示例,您可以使用这些 PowerNSX 命令来自动配置和配置NSX 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