本主题介绍了如何从特定的服务引擎中建立 SE-控制器通信,这些服务引擎是在与控制器节点网络隔离的网络上实例化的。

连接过程从新实例化的 SE 向其父控制器发送的第一次通信开始。下面是这种类型的通信的一些示例:

  1. 控制器集群受防火墙保护,而其 SE 位于公用 Internet 上。

  2. 在公有云-私有云部署中,控制器位于公有云(例如 AWS)中,而 SE 位于客户的私有云中。

实施

除了集群中的控制器可以相互看到的管理节点地址以外,您还可以为每个控制器指定第二个管理 IP 地址,或者指定由连接到隔离网络的 SE 寻址的 DNS 可解析 FQDN。控制器将第二个 IP 地址或 FQDN 加入到用于生成 SE 的 SE 映像中。NSX Advanced Load Balancer 添加了 public-ip-or-name 参数以支持该功能。

通过 NSX Advanced Load Balancer CLI 设置参数

在初始版本中,只能通过 REST API 和 NSX Advanced Load Balancer CLI 访问参数。在以下 CLI 示例中,采用单节点集群。

[admin:my-controller-aws]: > configure cluster
Updating an existing object. Currently, the object is:
+---------------+----------------------------------------------+
| Field         | Value                                        |
+---------------+----------------------------------------------+
| uuid          | cluster-223cc977-f0de-4c5e-9612-7b0254b3057d |
| name          | cluster-0-1                                  |
| nodes[1]      |                                              |
|   name        | 10.10.30.102                                 |
|   ip          | 10.10.30.102                                 |
|   vm_uuid     | 005056b02776                                 |
|   vm_mor      | vm-222393                                    |
|   vm_hostname | node1.controller.local                       |
+---------------+----------------------------------------------+
[admin:my-controller-aws]: cluster> nodes index 1
[admin:my-controller-aws]: cluster:nodes> public_ip_or_name 1.1.1.1

说明

  • SE 无法使用地址 10.10.30.102 从其网络中寻址(路由到)控制器。

  • 管理人员知道部署了启用 NAT 的防火墙,并对防火墙进行编程以将 1.1.1.1 转换为 10.10.30.102。

  • 集群的第一个节点(也是唯一节点)的对象定义中的 public_ip_or_name 字符串参数设置为 1.1.1.1。因此,控制器 cluster-0-1 知道它必须将 1.1.1.1(而不是 10.10.30.102)嵌入到为生成 SE 而创建的 SE 映像中。

  • 因此,在 SE 第一次变为活动状态时,它使用 IP 地址 1.1.1.1 寻址其父控制器。

  • 由于对该 SE 完全透明并且防火墙具有 NAT 功能,因此,初始通信将传送到 IP 地址 10.10.30.102。

  • 后续的控制器-SE 通信正常进行,就像控制器和 SE 位于同一网络上一样。

重要说明

  • 需要为集群中的所有节点配置 public_ip_or_name 字段,或者不为任何节点配置该字段。无法配置集群中的一部分节点。

  • 如果启用了该配置,来自所有云的 SE 将始终使用 public_ip_or_name 尝试与控制器进行通信。目前,无法让一个云中的 SE 使用私有网络,而让另一个云中的 SE 使用进行 NAT 处理的网络。

  • 建议在创建 SE 之前配置集群时启用该功能,而不要在 SE 存在时修改该设置。