下列程序說明如何使用 NSX API 取代 NSX Edge 叢集中的 NSX Edge 傳輸節點。您可以取代 Edge 傳輸節點,無論其是否正在執行。

必要條件

  • 自行熟悉安裝 NSX Edge 節點、使用管理平面加入 Edge 節點,以及建立 NSX Edge 傳輸節點的程序。如需詳細資訊,請參閱NSX 安裝指南
  • 確保用來取代舊 NSX Edge 節點的新 NSX Edge 節點已就緒。如需詳細資訊,請參閱NSX 安裝指南

程序

  1. 如果您想要新的 NSX Edge 傳輸節點與要取代的 NSX Edge 傳輸節點有相同的組態,請執行下列 API 呼叫以尋找組態:
    GET https://<nsx-manager-IP>/api/v1/transport-nodes/<tn-id>
    {
        "node_id": "250175b8-223b-11ed-826e-b07b25e93f64",
        "host_switch_spec": {
            "host_switches": [
                {
                    "host_switch_name": "nsxHostSwitch",
                    "host_switch_id": "809299a2-c090-4543-8747-d200e12cd2ea",
                    "host_switch_type": "NVDS",
                    "host_switch_mode": "STANDARD",
                    "host_switch_profile_ids": [
                        {
                            "key": "UplinkHostSwitchProfile",
                            "value": "57da58fa-bce6-448b-8db3-874ceff59656"
                        },
                        {
                            "key": "LldpHostSwitchProfile",
                            "value": "9e0b4d2d-d155-4b4b-8947-fbfe5b79f7cb"
                        }
                    ],
                    "pnics": [
                        {
                            "device_name": "fp-eth0",
                            "uplink_name": "Uplink1"
                        },
                        {
                            "device_name": "fp-eth2",
                            "uplink_name": "Uplink2"
                        },
                        {
                            "device_name": "fp-eth4",
                            "uplink_name": "Uplink3"
                        },
                        {
                            "device_name": "fp-eth6",
                            "uplink_name": "Uplink4"
                        }
                    ],
                    "is_migrate_pnics": false,
                    "ip_assignment_spec": {
                        "ip_pool_id": "82f8ae96-992b-45c6-8376-777b82bfeb1d",
                        "resource_type": "StaticIpPoolSpec"
                    },
                    "cpu_config": [],
                    "transport_zone_endpoints": [
                        {
                            "transport_zone_id": "15897bda-802f-4481-b9fd-4e5cc1ef084b",
                            "transport_zone_profile_ids": [
                                {
                                    "resource_type": "BfdHealthMonitoringProfile",
                                    "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
                                }
                            ]
                        },
                        {
                            "transport_zone_id": "4a237a28-050e-4499-a241-0eb0c9dad97f",
                            "transport_zone_profile_ids": [
                                {
                                    "resource_type": "BfdHealthMonitoringProfile",
                                    "profile_id": "52035bb3-ab02-4a08-9884-18631312e50a"
                                }
                            ]
                        }
                    ],
                    "pnics_uninstall_migration": [],
                    "vmk_uninstall_migration": [],
                    "not_ready": false
                }
            ],
            "resource_type": "StandardHostSwitchSpec"
        },
        "maintenance_mode": "DISABLED",
        "node_deployment_info": {
            "deployment_type": "PHYSICAL_MACHINE",
            "node_settings": {
                "hostname": "w1-hs2-m2716.eng.vmware.com",
                "enable_ssh": true,
                "allow_ssh_root_login": false
            },
            "resource_type": "EdgeNode",
            "external_id": "250175b8-223b-11ed-826e-b07b25e93f64",
            "ip_addresses": [
                "10.196.145.177"
            ],
            "id": "250175b8-223b-11ed-826e-b07b25e93f64",
            "display_name": "w1-hs2-m2716.eng.vmware.com",
            "tags": [],
            "_revision": 3
        },
        "is_overridden": false,
        "failure_domain_id": "4fc1e3b0-1cd4-4339-86c8-f76baddbaafb",
        "resource_type": "TransportNode",
        "id": "250175b8-223b-11ed-826e-b07b25e93f64",
        "display_name": "w1-hs2-m2716.eng.vmware.com",
        "tags": [],
        "_create_time": 1661187299037,
        "_create_user": "admin",
        "_last_modified_time": 1661255498968,
        "_last_modified_user": "admin",
        "_system_owned": false,
        "_protection": "NOT_PROTECTED",
        "_revision": 3
    }
  2. 記下要取代的節點的傳輸節點識別碼:「55120a1a-51c6-4c20-b4a3-6f59662c9f6a」。
  3. 準備將取代舊 NSX Edge 節點的新 NSX Edge 傳輸節點。請參閱《NSX 安裝指南》中的〈建立 NSX Edge 傳輸節點〉
    準備新的 NSX Edge 節點時,請注意以下組態重點:
    • 如果舊的 NSX Edge 節點正在執行,請勿使用其相同的 IP 位址 "ip_addresses": ["10.161.68.92"]
    • 如果舊的 NSX Edge 節點正在執行,請勿使用相同的 TEP IP 位址
  4. 確認新 Edge 傳輸節點的 UUID。執行步驟 1 中提到的 API。
  5. 執行 API 呼叫以擷取必須取代的傳輸節點的成員索引。
    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": "55120a1a-51c6-4c20-b4a3-6f59662c9f6a"
            },
            {
              "member_index": 1,
              "transport_node_id": "890f0e3c-aa81-46aa-843b-8ac25fe30bd3"
            }
          ],
  6. 執行 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"
    }

結果

如果執行的 NSX 版本低於 3.1.3,則在取代 NSX Edge 傳輸節點之後,您可能會看到警示:「所有 BGP/BFD 工作階段已關閉。」若要解決此問題,請遵循知識庫文章 https://kb.vmware.com/s/article/83983 中的因應措施指示。