以下过程介绍了如何使用 NSX-T API 替换 NSX Edge 集群中的 NSX Edge 传输节点。无论 Edge 传输节点是否正在运行,您都可以替换该节点。

如果要替换的 Edge 节点未运行,新的 Edge 节点可能具有相同的管理 IP 地址和 TEP IP 地址。如果要替换的 Edge 节点正在运行,新的 Edge 节点必须具有不同的管理 IP 地址和 TEP IP 地址。

前提条件

熟悉安装 NSX Edge 节点、将 Edge 节点加入管理平面以及创建 NSX Edge 传输节点的过程。有关详细信息,请参见《NSX-T Data Center 安装指南》

过程

  1. 如果希望新的 Edge 传输节点具有与要替换的 Edge 传输节点相同的配置,请进行以下 API 调用以查找配置:
    GET https://<nsx-manager-IP>/api/v1/transport-nodes/<tn-id>
  2. 按照《NSX-T Data Center 安装指南》中的过程安装和配置 Edge 传输节点。
    如果您希望该 Edge 传输节点具有与要替换的 Edge 传输节点相同的配置,请使用在步骤 1 中获取的配置。
  3. 进行 API 调用以获取新传输节点和要替换的传输节点的 ID。id 字段包含传输节点 ID。例如,
    GET https://<nsx-manager-IP>/api/v1/transport-nodes
    ... 
       {
          "resource_type": "TransportNode",
          "description": "",
          "id": "73cb00c9-70d0-4808-abfe-a12a43251133",
          "display_name": "TN-edgenode-01a",
    ...
        {
          "resource_type": "TransportNode",
          "description": "",
          "id": "890f0e3c-aa81-46aa-843b-8ac25fe30bd3",
          "display_name": "TN-edgenode-03a",
    
  4. 进行 API 调用以获取 NSX Edge 集群的 ID。id 字段包含 NSX Edge 集群 ID。从 members 数组中获取 NSX Edge 集群的成员。例如,
    GET https://<nsx-manager-IP>/api/v1/edge-clusters
    ....
        {
          "resource_type": "EdgeCluster",
          "description": "",
          "id": "9a302df7-0833-4237-af1f-4d826c25ad78",
          "display_name": "Edge-Cluster-1",
    ...
          "members": [
            {
              "member_index": 0,
              "transport_node_id": "73cb00c9-70d0-4808-abfe-a12a43251133"
            },
            {
              "member_index": 1,
              "transport_node_id": "e5d17b14-cdeb-4e63-b798-b23a0757463b"
            }
          ],
  5. 进行 API 调用以替换 NSX Edge 集群中的传输节点。member_index 必须与要替换的传输节点的索引匹配。
    例如,传输节点 TN-edgenode-01a (73cb00c9-70d0-4808-abfe-a12a43251133) 发生故障,并将其替换为 NSX Edge 集群 Edge-Cluster-1 (9a302df7-0833-4237-af1f-4d826c25ad78) 中的传输节点 TN-edgenode-03a (890f0e3c-aa81-46aa-843b-8ac25fe30bd3)。
    POST http://<nsx-manager-IP>/api/v1/edge-clusters/9a302df7-0833-4237-af1f-4d826c25ad78?action=replace_transport_node
    {
        "member_index": 0,
        "transport_node_id" : "890f0e3c-aa81-46aa-843b-8ac25fe30bd3"
    }