NSX-T Data Center 2.4 及更高版本支持部署多个 NSX Manager 节点以在单个 NSX-T Data Center 实例中形成集群。如果要结合使用 NSX Manager 集群和 VMware Integrated OpenStack,请将所有集群节点的 IP 地址添加到部署配置中。

注: 以下限制适用于 NSX Manager 集群:
  • NSX Manager 集群可为单个 NSX-T Data Center 实例提供高可用性。NSX-T Data Center 的多个实例不能用于同一个 VMware Integrated OpenStack 部署。
  • VMware Integrated OpenStack 部署中,配置 3 个 NSX-T Manager 后,如果对 NSX-T Manager 进行更改,可以看到此页面上会正确显示所有配置,只有 NSX Policy 配置仍在加载中。

前提条件

NSX-T Data Center 中创建 NSX Manager 集群。请参见从 UI 部署 NSX Manager 节点以形成集群

过程

  1. root 用户身份登录到 Integrated OpenStack Manager
    ssh root@mgmt-server-ip
  2. 将另外两个 NSX-T Manager 添加到 VMware Integrated OpenStack
    1. 请参考 kubectl -n openstack get nsxs.vio.vmware.com -o yaml 格式,为另外两个 NSX-T Manager 创建 nsx YAML 文件。例如:
      vi nsx_sample.yaml
      apiVersion: vio.vmware.com/v1alpha1
      kind: NSX
      metadata:
        labels:
          app: lcm
          clusterController: "true"
          group: vio.vmware.com
          kind: NSX
          name: nsx2
          openstackController: "true"
          version: v1alpha1
        name: nsx2
        namespace: openstack
        selfLink: /apis/vio.vmware.com/v1alpha1/namespaces/openstack/nsxs/nsx2
      spec:
        hostname: <the second nsx manager ip address>
        insecure: true
        kind: nsxp
        password: .VIOSecret:viosecret1:spec.nsx_password
        username: admin
      ---
      apiVersion: vio.vmware.com/v1alpha1
      kind: NSX
      metadata:
        labels:
          app: lcm
          clusterController: "true"
          group: vio.vmware.com
          kind: NSX
          name: nsx3
          openstackController: "true"
          version: v1alpha1
        name: nsx3
        namespace: openstack
        selfLink: /apis/vio.vmware.com/v1alpha1/namespaces/openstack/nsxs/nsx3
      spec:
        hostname: <the third nsx manager ip address>
        insecure: true
        kind: nsxp
        password: .VIOSecret:viosecret1:spec.nsx_password
        username: admin
    2. 检查是否为两个 NSX-T Manager 创建了 nsx YAML 格式。
      kubectl -n openstack apply -f nsx_sample.yaml
    3. 确认有三个 nsx Pod。
      kubectl -n openstack get pod | grep nsx
    4. 修改 Neutron 配置以包含每个 nsx Pod 的 IP 地址。
      kubectl edit neutrons.vio.vmware.com -o yaml -n openstack
      nsx_api_managers: .NSX:nsx1:spec.hostname,.NSX:nsx2:spec.hostname,.NSX:nsx3:spec.hostname

后续步骤

如果任何节点的 IP 地址发生更改,或者如果在 NSX Manager 集群中添加或移除节点,您必须修改 Neutron 配置以包含更新的 IP 地址信息。