本节介绍了将 NSX Advanced Load Balancer 与 VMware Cloud (VMC) on AWS 集成的详细信息。NSX Advanced Load Balancer 作为客户管理的解决方案部署在 VMC 中。

  • NSX Advanced Load Balancer 以“无 Orchestrator”模式安装在 VMware Cloud on AWS 上。

  • 在 VMC 上部署 SE 是手动完成的。在将 SE 与 NSX Advanced Load Balancer Controller 集成后,可以从 NSX Advanced Load Balancer Controller 集中处理虚拟服务放置和缩放。

下图显示了 VMC 中的典型 NSX Advanced Load Balancer 部署。

以下是对上图的观察结果:



对于 NSX Advanced Load Balancer SE

  • NSX Advanced Load Balancer SE 作为虚拟机部署在 VMC 上。

  • SE 连接到逻辑网络。以下是两种类型的逻辑网络:

    • 路由网络 - 通过 IPsec VPN

    • 扩展网络 - 通过 L2 VPN

  • SE 通过管理网络连接到控制器,这是与 SE 虚拟机的 vNIC0 的逻辑网络连接。

对于 NSX Advanced Load Balancer Controller

  • NSX Advanced Load Balancer Controller 集群专用于 VMC 环境或用于本地 vCenter 负载均衡。

  • 考虑到 VMC 上的资源费用成本及其临时性,建议在 VMC 环境以外部署 NSX Advanced Load Balancer Controller 集群。但是,这并不是限制。

下图显示了 VMC 基础架构上的 NSX Advanced Load Balancer Controller 集群和 SE 部署。



高可用性

以下是当前支持的高可用性选项(按建议顺序):

  • N+M 且 DFW 排除列表中具有 SE(有关分布式防火墙排除列表的更多信息,请参阅管理分布式防火墙排除列表)。

  • 活动或活动且 DFW 排除列表中具有 SE(有关分布式防火墙排除列表的更多信息,请参阅管理分布式防火墙排除列表)。

  • 活动或备用且禁用 MAC 伪装。此选项需要 SNAT,并且不支持默认网关模式。

配置

SE 虚拟机需要手动创建。VMC 上不能自动执行该操作的原因是,[email protected] 用户没有读取或写入 vCenter API 所需的所有权限,并且无权访问 ESX 管理平面。要实现内部部署 vCenter 中的 NSX Advanced Load Balancer 自动部署,需要具有对 ESX 管理平面的访问权限。

本节介绍了以下内容:

  • 下载 SE 映像

  • 将 SE 映像上载到内容库

  • 部署 SE 虚拟机

下载 SE 映像

  • 以 admin 用户身份登录到 UI。

  • 导航到基础架构 > 。使用云上的下载图标下载 SE OVA 映像。使用 Default-Cloud 或创建一个新的无 Orchestrator 云。

将 SE 映像上载到内容库

下载的 .OVA 文件可直接用于创建 SE 虚拟机,但每次需要创建新虚拟机时,都必须将映像上载到 vCenter。为了加快部署速度,SE 映像将被上载到 VMC 上的内容库,并且可以多次使用。

按照以下步骤将 SE 映像上载到内容库:

  1. 登录到 vCenter 并选择用于创建新内容库的选项。提供名称并选择所需的 vCenter Server。

  2. 选择库内容的存储位置。

  3. 单击操作下拉菜单,选择 vSphere Client 中提供的导入项目选项,然后上载 .ovf.vmdk 文件,如下所示。



部署 SE 虚拟机

必备条件

部署 SE 虚拟机需要以下数据:

  • NSX Advanced Load Balancer Controller IP 地址

  • 身份验证令牌和云 UUID(导航到基础架构 > ,选择所需的云,然后单击钥匙图标以生成云 UUID 和身份验证令牌)。

  • 管理 IP 地址、子网和子网掩码。仅当在管理逻辑网络中禁用 DHCP 时,才需要这些数据。

虚拟机创建

  1. 登录到 vSphere Client,选择模板选项,然后单击从此模板新建虚拟机以创建新的虚拟机,如下所示。



  2. 选择一个虚拟机位置,如下所示。



    可选步骤:在工作负载下创建一个新文件夹以放置所有 SE。

  3. 单击选择计算资源选项,为部署选择资源池。

  4. 单击选择存储选项以选择所需的数据存储。

  5. 单击选择网络选项以配置所需的网络。

    管理网络标签 (vNIC0) 将映射到管理逻辑网络。其余网络标签(数据网络 1-9)将根据需要连接到虚拟服务的任何前端网络或服务器的后端逻辑网络。如果不需要,它将保持断开连接状态。

  6. 选择自定义模板选项以创建 vApp 属性。提供 NSX Advanced Load Balancer Controller IP 地址详细信息、集群 UUID 和身份验证令牌,如“必备条件”部分中所述。

  7. 查看并单击完成

  8. 打开已部署虚拟机的电源。

附加信息

要检查新部署的 SE,请导航到 UI 上的基础架构 > 服务引擎选项卡。

如果 SE 虚拟机已开启但未连接到 NSX Advanced Load Balancer Controller,请检查在 VMC 控制台的“计算网关”选项中配置的防火墙端口。该选项用于允许从 SE 到 NSX Advanced Load Balancer Controller 的管理流量。

有关所需端口和协议的更多信息,请参阅 NSX Advanced Load Balancer 用于管理通信的协议端口

注:

SE 会打开与 NSX Advanced Load Balancer Controller 的 TCP 连接,因此防火墙规则应允许出站流量。由于防火墙是有状态的,因此将自动允许反向流量。

如果使用公用 IP 地址访问 NSX Advanced Load Balancer Controller(例如,控制器部署在 AWS 的其他 VPC 上时,或者如果使用 NSX Advanced Load Balancer SaaS 产品),请添加 NAT 规则以允许通过 Internet 传输 SE 流量。

在云配置中启用 VMC 部署

NSX Advanced Load Balancer 版本 20.1.5 开始,在云配置中提供了一个新的控制项 vmc_deployment,以指示云是在基于 VMC 的部署中配置的。当部署基于 VMC 时,必须设置此控制项。

注:

NSX Advanced Load Balancer 版本 20.1.5 开始,如果设置了 vmc_deployment,则无需配置 TCP 网络配置文件。

[admin:Avi-Controller]: > configure cloud Default-Cloud
[admin:Avi-Controller]: cloud> vmc_deployment
[admin:Avi-Controller]: cloud> save

TCP 网络配置文件

在 Avi Vantage 版本 20.1.5 之前,您需要配置 TCP 网络配置文件。

由于 AWS 基础架构中存在大量无序数据包,因此建议修改将应用于虚拟服务的 TCP 配置文件,将 reorder_threshold 值设置为 8。此修改后的配置文件将有助于处理无序数据包,从而潜在提高应用程序性能。

以下示例显示了如何创建将由虚拟服务使用的全新 TCP 配置文件。

[admin:avicontroller]: > configure networkprofile vmc-tcp-proxy
[admin:avicontroller]: networkprofile> profile tcp_proxy_profile
[admin:avicontroller]: networkprofile:profile:tcp_proxy_profile> no automatic
[admin:avicontroller]: networkprofile:profile:tcp_proxy_profile> reorder_threshold 8

[admin:avicontroller]: networkprofile:profile:tcp_proxy_profile> save
[admin:avicontroller]: networkprofile> save
+----------------------------------------+-----------------------------------------------------+
| Field                                  | Value                                               |
+----------------------------------------+-----------------------------------------------------+
| uuid                                   | networkprofile-07ad8f8c-9960-4535-a14c-9065062a58bb |
| name                                   | vmc-tcp-proxy                                       |
| profile                                |                                                     |
|   type                                 | PROTOCOL_TYPE_TCP_PROXY                             |
|   tcp_proxy_profile                    |                                                     |
|     automatic                          | False                                               |
|     ignore_time_wait                   | False                                               |
|     time_wait_delay                    | 2000 milliseconds                                   |
|     max_retransmissions                | 8                                                   |
|     max_syn_retransmissions            | 8                                                   |
|     receive_window                     | 64 kb                                               |
|     nagles_algorithm                   | False                                               |
|     ip_dscp                            | 0                                                   |
|     idle_connection_type               | KEEP_ALIVE                                          |
|     idle_connection_timeout            | 600 sec                                             |
|     use_interface_mtu                  | True                                                |
|     cc_algo                            | CC_ALGO_NEW_RENO                                    |
|     aggressive_congestion_avoidance    | False                                               |
|     reorder_threshold                  | 8                                                   |
|     slow_start_scaling_factor          | 1                                                   |
|     congestion_recovery_scaling_factor | 2                                                   |
|     reassembly_queue_size              | 0                                                   |
|     keepalive_in_halfclose_state       | True                                                |
|     auto_window_growth                 | True                                                |
| connection_mirror                      | False                                               |
| tenant_ref                             | admin                                               |
+----------------------------------------+-----------------------------------------------------+
[admin:avicontroller]: >