VMware NSX-T 提供了敏捷的软件定义基础架构以构建云原生应用程序环境。NSX-T 专注于为具有异构端点环境和技术栈的新兴应用程序框架和架构提供网络、安全性、自动化和简化的运行方式。本主题介绍了 NSX Advanced Load Balancer 与 NSX-T 集成的设计详细信息。

NSX-T 支持云原生应用程序、裸机工作负载、多 Hypervisor 环境、公有云以及多个云。有关 VMware NSX-T 的更多信息,请参阅 VMware NSX-T 文档

架构

该解决方案包含 NSX Advanced Load Balancer Controller,此控制器使用 API 与 NSX-T Manager 和 vCenter 交互以发现基础架构。它还管理服务引擎 (SE) 的生命周期和网络配置。控制器可为用户提供控制平面和管理控制台,以便为其应用程序配置负载均衡,而服务引擎则提供分布式弹性负载均衡 Fabric。



注:

NSX Advanced Load Balancer Controller 会将 SE OVA 映像上载到 vCenter 上的内容库,并使用 vCenter API 部署 SE 虚拟机。在进行云配置之前,必须由 vCenter 管理员创建内容库。有关更多信息,请参阅创建内容库

协议端口要求

下表显示了集成所需的协议和端口:

目标

协议

端口

NSX Advanced Load Balancer Controller 管理 IP 和集群 VIP

NSX-T Manager 管理 IP

TCP

443

NSX Advanced Load Balancer Controller 管理 IP 和集群 VIP

vCenter Server 管理 IP

TCP

443

有关 NSX Advanced Load Balancer Controller 和服务引擎所用协议和端口的更多信息,请参阅 VMware Ports and Protocols

如果启用了 NSX-T 网关防火墙,NSX 管理员必须管理 NSX Edge 策略。

可支持性

有关 NSX-T - NSX Advanced Load Balancer 支持列表的更多信息,请参阅互操作性列表

负载均衡器拓扑

SE 在 NSX-T 环境中仅支持单臂部署模式,即对于虚拟服务,客户端到 VIP 的流量和 SE 到后端服务器的流量都使用相同的 SE 数据接口。SE 虚拟机具有 9 个数据接口,因此可以连接到多个逻辑分段,但每个数据接口将位于不同的 VRF 中,因此将与所有其他接口隔离。



从图中所示,对于 SE 部署,可以使用两种拓扑:

  1. 专用逻辑分段上的 SE:

    • 允许单独管理 SE 接口的 IP 地址分配

    • 在当前版本中,必须先在 NSX-T 上创建此分段,然后再将其添加到 Avi 上的云配置。

  2. 共享逻辑分段上的 SE:

    • SE 接口与同一逻辑分段上的服务器虚拟机共享相同的地址空间。

    注:
    • 仅连接到 Tier-1 路由器的逻辑分段受支持。NSX-T 集成的云计算自动化不支持将 SE 放置在直接连接到 Tier-0 路由器的逻辑分段上。

    • 在 Avi 版本 20.1.5 之前,需要将 Avi SE 管理网络连接到覆盖网络逻辑分段。从 Avi 版本 20.1.6 开始,SE 管理网络和数据网络可以连接到 VLAN 支持的 NSX-T 逻辑分段。有关更多信息,请参阅 NSX Advanced Load Balancer VLAN 逻辑分段

    不支持以下拓扑:

    SE 数据

    VIP 子网

    客户端子网

    Seg A-T1a-T0

    Seg B-T1b-T0

    Seg B-T1b-T0

    T1a 上配置了静态路由。因此,只有 T1a 和 T0 可以执行代理 ARP。T1b 没有该静态路由,因此无法为 VIP 执行代理 ARP。

VIP 网络连接

对于放置在这些 SE 上的虚拟服务,VIP 可以属于其连接到的逻辑分段的子网,也可以属于任何其他未使用的子网。将虚拟服务放置在 SE 上后,控制器会更新与为虚拟服务放置选择的逻辑分段关联的 Tier-1 路由器上的 VIP 静态路由。NSX 管理员应配置 Tier-1 路由器,以便使用 Tier-0 重新分发这些静态路由。对于 VIP 的南北向可访问性,管理员必须将 Tier-0 配置为通过 BGP 向外部路由器通告 VIP 路由。



注:

每个 Tier-1 可以配置的 VIP 数量受相应 Tier-1 网关上 NSX Manager 支持的最大静态路由数的限制。有关逻辑路由限制的更多信息,请参阅 NSX-T Data Center 配置限制

本文讨论了两种流量场景,如下所述:

南北向流量

如上图中所示,当外部客户端向 VIP 发送请求时,该请求会从外部路由器路由到 Tier-0,Tier-0 将请求转发到正确的 Tier-1,Tier-1 再将请求路由到 SE 上的 VIP。

东西向流量

对于 NSX 覆盖网络上尝试访问 VIP 的客户端,请求会发送到直接连接的 Tier-1 上的默认网关。根据 VIP 的放置位置,可能有 2 种子方案:

  • VIP 位于连接到其他 Tier-1 的 SE 上:流量将路由到 Tier-0,Tier-0 将流量转发到正确的 Tier-1 路由器。然后,Tier-1 路由器将流量路由到 SE。

  • VIP 位于连接到同一 Tier-1 的 SE 上:流量将路由到同一 Tier-1 上的 SE。

HA 模式和扩展

NSX-T 环境支持所有 HA 模式(活动-活动、N+M 和活动-备用)。在将 VIP 放置在 SE 上时,控制器会在 Tier-1 路由器上为其添加静态路由,并将 SE 的数据接口作为下一跃点。



对于活动-活动和 N+M HA 模式,在虚拟服务扩展时,控制器会添加指向虚拟服务所在的每个 SE 的等价下一跃点。Tier-1 使用等价多路径 (Equal Cost Multi-Pathing, ECMP) 将入站连接分散到 SE 上。



如果活动-备用模式中只有一个 SE 处于活动状态,或者 N+M HA 模式中虚拟服务未扩展,则 Avi 控制器程序将只路由到活动 SE。此处不需要 ECMP。

管理网络

NSX Advanced Load Balancer Controller 集群虚拟机必须部署在 NSX-T Manager 附近,并且连接到管理端口组。建议将专用的 Tier-1 网关和逻辑分段用于 NSX Advanced Load Balancer SE 管理。



所有 SE 虚拟机的第一个网络接口都会连接到管理分段。必须可以从 NSX Advanced Load Balancer Controller 访问 SE 的管理 IP 地址。要向外部路由器通告负载均衡(虚拟服务器/VIP),请启用“所有已连接分段和服务端口”,并且 Tier-0 的“已通告的 Tier-1 子网”设置下的 LB VIP 必须使用 BGP 将学习的路由通告到外部路由器。

NSX-T Cloud 配置模型

NSX Advanced Load Balancer 与任何基础架构的集成点称为云。对于 NSX-T 环境,必须配置 NSX-T Cloud。有关配置 NSX-T Cloud 的更多信息,请参阅 NSX-T 与 NSX Advanced Load Balancer 的集成概览



NSX-T Cloud 由 NSX-T Manager 和传输区域定义。如果 NSX-T Manager 具有多个传输区域,则每个传输区域将映射到新的 NSX-T Cloud。为管理多个 NSX-T 环境的负载均衡,每个 NSX-T Manager 将映射到新的 NSX-T Cloud。

NSX-T Cloud 还需要以下配置:

vCenter 对象

每个 NSX-Cloud 可以关联一个或多个 vCenter。对于已添加到具有 ESXi 主机且属于在 NSX-T Cloud 中配置的传输区域的 NSX-T 的所有 vCenter 计算管理器,必须在 NSX Advanced Load Balancer 上为其配置 vCenter 对象。

选择 NSX Advanced Load Balancer Controller 将在其中上载 SE OVA 的内容库。

  1. 网络配置

    NSX-T Cloud 需要两种类型的网络配置:管理网络:必须选择用于 SE 虚拟机管理连接的逻辑分段。

    VIP 放置网络:NSX Advanced Load Balancer Controller 不会同步所有 NSX-T 逻辑分段。必须选择 Tier-1 路由器和一个连接的逻辑分段作为 VIP 网络。每个 Tier-1 路由器仅允许使用一个 VIP 网络。如果存在多个 Tier-1 路由器,则可以重复此操作。只有选定的 VIP 逻辑分段才会作为 NSX Advanced Load Balancer 上的网络对象进行同步。每个 Tier-1 可以配置的 VIP 数量受相应 Tier-1 上 NSX Manager 支持的最大静态路由数的限制。有关更多信息,请参阅最高配置工具中的每个分布式路由器的路由

  2. VRF 上下文

    NSX Advanced Load Balancer 会自动为在 VIP 网络配置期间选择的每个 Tier-1 网关创建 VRF 上下文。这样做的原因是,连接到不同 Tier-1 的逻辑分段可以具有相同的子网。创建虚拟服务时必须选择 VRF,以便将 VIP 放置在正确的本地分段上,并在正确的 Tier-1 路由器上配置 VIP 路由。

池配置

对于给定的虚拟服务,池服务器的逻辑分段和 VIP 的逻辑分段必须属于同一个 Tier-1 路由器。如果 VIP 和池连接到不同的 Tier-1,则流量可能会通过 Tier-0,从而通过 NSX-T Edge(具体取决于管理员配置的 NSX-T 服务)。这会降低数据路径性能,因此必须避免。池成员可以通过两种方式进行配置:

  • NS 组:可以将服务器添加到 NSX-T Manager 中的 NS 组,然后在池配置中可以选择该 NS 组。NS 组解析到的所有 IP 地址都将作为池成员添加到 NSX Advanced Load Balancer 中。NSX Advanced Load Balancer 还会轮询 NS 组的更改(默认设置为每 5 分钟轮询一次),因此,如果 NS 组具有动态成员资格,或者手动添加/移除了成员,NSX Advanced Load Balancer 池最终将同步新的服务器 IP。

  • IP 地址:可以将静态 IP 地址列表指定为池成员。

安全自动化

NSX-T Cloud 将自动为 SE 和 NSX Advanced Load Balancer Controller 管理 IP 创建 NS 组。



手动执行以下操作:

  • 将 SE NS 组添加到排除列表。在发生应用程序流量非对称路由时,需要这样做才能允许跨 SE 流量,并防止由于有状态 DFW 而导致数据包丢弃。

  • 创建 DFW 策略以允许从 SE NS 组到 NSX Advanced Load Balancer Controller NS 组的管理流量。

    注:

    SE 将启动与控制器管理 IP 的 TCP 连接

  • 对于在 NSX Advanced Load Balancer 上配置的每个虚拟服务,请创建一个 DFW 策略,以允许从 SE NS 组到配置为池的 NS 组/IP 组的流量。

注:

NSX-T Cloud Connector 会为不同的 NSX Advanced Load Balancer 对象创建和管理 NS 组。但当前不支持创建 DFW 规则。在创建虚拟服务之前,将服务引擎 NS 组添加到排除列表中。

如果 SE 位于排除列表中,便无法对客户端到 VIP 的流量强制实施 DFW。可以通过对 NSX Advanced Load Balancer 上的虚拟服务配置网络安全策略来保证此安全。如果启用了 NSX-T 网关防火墙,则必须手动配置 Edge 策略以允许来自外部客户端的 VIP 流量。

如果为虚拟服务启用了“保留客户端 IP 地址”,则会将客户端 IP 发送到服务器。这意味着以下情况:

  • 为后端池连接配置的 DFW 规则必须允许客户端 IP 通过 DFW 规则。

  • 运行状况监控器还会从 SE 接口发送到池,DFW 规则也必须允许这种情况。

Tier-1 和 Tier-0 上 VIP 的代理 ARP

NSX Advanced Load Balancer 与 NSX-T 3.1.0 的集成中,代理 ARP 功能在 Tier-0 和 Tier-1 网关上均可用于 NSX Advanced Load Balancer LB VIP。

请考虑以下用例:

  • Tier-0 网关上的代理 ARP:客户端和 VIP 位于同一分段中,但客户端正在通过 Tier-0 访问 VIP。ARP 或 VIP 将由 Tier-0 代理到外部客户端。



  • (Tier-1 网关上的代理 ARP):如果客户端是本地的(在同一 Tier-1 上),则 Tier-1 会为 VIP 执行代理 ARP。如果连接了 SE 和 Tier-1,它们将做出响应。



要使 Tier-0 执行代理 ARP,请为 Tier-1 启用所有 LB VIP 路由

  1. 从 NSX-T Manager 中,导航到网络 > Tier-1 网关

  2. 添加 Tier 网关或编辑现有网关。

  3. 在“路由通告”下,启用所有 LB VIP 路由



  4. 单击保存。在下图中,两个不同的云中创建了两个代理 ARP 虚拟服务。



对于这些虚拟服务,

  • 在 ProxyVS1 中,客户端和 VIP 位于同一分段,且数据网卡相同 (seg50a)

  • 在 ProxyVS2 中,客户端和 VIP 位于同一分段 (seg50a),但 SE 数据网卡不同 (seg51a)