build 7bbbddf7 | content blog-content@c8490fa · 338 posts | profiles 20 · corpus 267 | 0 skipped | | format
apiVersion: soultec.ch/v1kind: Postmetadata: name: iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement locale: de labels: author: matthias-grasmueck series: lessons-learned capability/network: 2.16 capability/security: 2.16 capability/containers: 2.39 capability/cloud: 1.94 vendor/vmware: 0.88 annotations: source: blog-content/posts/de/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md route: /de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/ schema: /nerd/schema/posts.json markdown: /de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.mdspec: title: IaaS Control Plane – Wrong NSX Edge cluster for T1 placement date: 2024-12-04 author: matthias-grasmueck locale: de summary: >- Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. capabilities: [network, security, containers, cloud] vendors: [vmware] series: lessons-learned hero: >- /blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/hero.webp legacySlug: iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement migrated: 2026-08-24 draft: false sections: - body: | Ich hatte kürzlich eine [IaaS Control Plane](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-concepts-planning/GUID-70CAF0BB-1722-4526-9CE7-D5C92C15D7D0.html) (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. Dabei lief alles einwandfrei und der Betrieb konnte nach dem Upgrade wie gewohnt fortgeführt werden. Als ich für ein paar neue Dashboards in [VMware Aria Operations for Logs](https://docs.vmware.com/en/VMware-Aria-Operations-for-Logs/index.html) für die NSX T1 Gateways der vSphere Namespaces erstellen wollte, ist mir aufgefallen, dass die T1 SR Instanzen nicht auf dem vorgesehenen NSX Edge Cluster instanziiert wurden. Der NSX Edge Cluster Setup für den Supervisor Cluster sieht dabei wie folgt aus: ![wcp-ec-design](/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/01.webp) Dabei wird der T0 Gateway des Supervisor Clusters auf dem Edge Cluster 1 gehostet, während sämtliche T1 Gateways der vSphere Namespaces auf dem Edge Cluster 2 gehostet werden. - heading:

Das Problem

body: | Die Tatsache, dass die T1 SR Instanzen der vSphere Namespaces nicht auf dem vorgesehen NSX Edge Cluster instanziiert wurden, liess auf ein Problem im Creation Workflow der vSphere Namespaces schliessen. Dabei habe ich zuerst versucht zu verstehen, ob das Verhalten dabei konsistent ist. Ich habe dazu einen vSphere Namespace mit und einen ohne [Network Overrides](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-tkg/GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9.html#GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9) erstellt. Dabei wurde der vSphere Namespace **ohne Network Overrides** auf dem vorgesehen dedizierten T1 Edge Cluster bereitgestellt, während der vSphere Namespace **mit Network Overrides** auf dem Edge Cluster bereitgestellt wurde, auf welchem sich auch der T0 Gateway des Supervisor System Namespace befindet. Nach dem ich in den Logs keine Indikatoren für ein Problem finden konnte, eröffnete ich eine VMware SR und nach kurzer Zeit war die Ursache auch schon klar. Mit dem Update auf vSphere 8.0.3 wurde auch das Verhalten der T1 Bereitstellung geändert. Dabei gilt neu ab vSphere 8.0.3 folgendes Verhalten: - Wenn ein vSphere Namespace mit Network Overrides erstellt wird, werden die T1 SRs auf dem Edge Cluster platziert, welcher die T0 SRs des neuen vSphere Namespace hostet. - Wenn keine Network Overrides angegeben werden, werden die T1 SRs auf dem Standard Edge Cluster gem. [Supervisor Network Configuration](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-installation-configuration/GUID-7C6A52D8-CBD7-4FB1-BCBC-143778B89275.html) instanziiert. Aber wie kann ich nun meine neuen vSphere Namespaces mit Network Overrides auf dem vorgesehenen Edge Cluster instanziieren? - heading:

Die Lösung

body: | Falls nach dem vSphere 8.0.3 Update bereits neue vSphere Namespaces angelegt wurden oder neue geplant sind, dann muss vorerst auf folgenden Workaround zurückgegriffen werden: ```bash # [STEP-1] # Login to a NSX manager via root user # Get the respective T1 gateway ID of the newly created vSphere Namespace curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s' | grep VSPHERE_NAMESPACE_T1_NAME-rtr -B 1 "id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr", "display_name" : "t1-domain-c5008:23e875a6-44gf-4814-94ff-e840ghm7bc03-VSPHERE_NAMESPACE_T1_NAME-rtr", # [STEP-2] # Get the locale-services ID of the respective T1 gateway # locale-servces ID = t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0 curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces' { "results" : [ { "edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b", "resource_type" : "LocaleServices", "id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0", "display_name" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0", "path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-services/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0", "relative_path" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0", "parent_path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr", "remote_path" : "", "unique_id" : "84ca333a-8619-d3f31-a108-13d222c4c349", "realization_id" : "84ca333a-8619-d3f31-a108-13d222c4c349", "owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87", "marked_for_delete" : false, "overridden" : false, "_create_time" : 1730469777339, "_create_user" : "wcp-cluster-user-380fdd7d-6f2c-4cdw-82df-fb7dfddd1b9b-dbd7f126-633c-4a13-badf-f5wwd8cfd11e", "_last_modified_time" : 1732889723175, "_last_modified_user" : "admin", "_system_owned" : false, "_protection" : "REQUIRE_OVERRIDE", "_revision" : 1 } ], "result_count" : 1, "sort_by" : "display_name", "sort_ascending" : true # Verify the associated edge cluster in the 'edge_cluster_path' parameter curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' | grep '\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\"' -A 1 "id" : "294ss994-8128-4217-aa42-a182b954ak8b", "display_name" : "k8s-t0-ec", # [STEP-3] # Get the 'path' parameter of the desired T1 edge cluster # Current edge cluster = 294ss994-8128-4217-aa42-a182b954ak8b # Desired edge cluster = 486hc7c3-2d29-ad51-b6c3-ff52alo86f4b curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' { "results" : [ { "nsx_id" : "294ss994-8128-4217-aa42-a182b954ak8b", "inter_site_forwarding_enabled" : false, "member_node_type" : "EDGE_NODE", "resource_type" : "PolicyEdgeCluster", "id" : "294ss994-8128-4217-aa42-a182b954ak8b", "display_name" : "k8s-t0-ec", "tags" : [ ], "path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b", "relative_path" : "294ss994-8128-4217-aa42-a182b954ak8b", "parent_path" : "/infra/sites/default/enforcement-points/default", "remote_path" : "", "unique_id" : "294ss994-8128-4217-aa42-a182b954ak8b", "realization_id" : "294ss994-8128-4217-aa42-a182b954ak8b", "owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87", "marked_for_delete" : false, "overridden" : false, "_create_time" : 1702468345681, "_create_user" : "admin", "_last_modified_time" : 1702471331793, "_last_modified_user" : "admin", "_system_owned" : false, "_protection" : "NOT_PROTECTED", "_revision" : 1 }, { "nsx_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "inter_site_forwarding_enabled" : false, "member_node_type" : "EDGE_NODE", "resource_type" : "PolicyEdgeCluster", "id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "display_name" : "k8s-t1-ec", "tags" : [ ], "path" : "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "relative_path" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "parent_path" : "/infra/sites/default/enforcement-points/default", "remote_path" : "", "unique_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "realization_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87", "marked_for_delete" : false, "overridden" : false, "_create_time" : 1702468349973, "_create_user" : "admin", "_last_modified_time" : 1702471337162, "_last_modified_user" : "admin", "_system_owned" : false, "_protection" : "NOT_PROTECTED", "_revision" : 1 } ], "result_count" : 2, "sort_by" : "display_name", "sort_ascending" : true # [STEP-4] # Update the 'edge_cluster_path' parameter in the T1 locale-services from step 2 to the desired T1 edge cluster path from step 3 curl -k -u 'admin:PASSWORD' \ --request PUT 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0' \ --header 'X-Allow-Overwrite: True' \ --header 'Content-Type: application/json' \ --data-raw '{ "edge_cluster_path": "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b", "_revision": 0 }' ``` > **Achtung:** Eine SR Relocation ist ein destruktiver Vorgang, bei der mit kurzen Verbindungsunterbrüchen zu den Workloads an dem betroffenen T1 Gateway gerechnet werden muss. Der grundsätzliche Vorgang ist einfach und kurz erklärt: 1. Die **NSX Object ID** des betroffenen T1 Gateway ermitteln 2. Die **locale-services ID** des betroffenen T1 Gateways ermitteln 3. Sämtliche Edge Cluster der NSX Domain abfragen 1. deren **Path** Parameter mit jenem aus dem **edge\_cluster\_path** Parameter des betroffenen T1 Gateways vergleichen 2. den Path Parameter des korrekten Edge Clusters ermitteln 4. Den **edge\_cluster\_path** Parameter des betroffenen T1 Gateways mit dem **Path** Parameter des korrekten Edge Clusters ersetzen Nach dem der PUT Request übermittelt wurde, beginnt NSX damit, die T1 SR Instanzen auf den gewünschten Edge Cluster zu platzieren.status: corpus: 267 alsoLike: - {ref: posts/antrea-nsx-integration, score: 0.84} - {ref: posts/vsphere-with-tanzu-und-nsx-advanced-load-balancer-avi-secret-not-found, score: 0.84} - {ref: solutions/vmware/vmware-cloud-foundation/addon/advanced-security, score: 0.65}
{ "apiVersion": "soultec.ch/v1", "kind": "Post", "metadata": { "name": "iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement", "locale": "de", "labels": { "author": "matthias-grasmueck", "series": "lessons-learned", "capability/network": "2.16", "capability/security": "2.16", "capability/containers": "2.39", "capability/cloud": "1.94", "vendor/vmware": "0.88" }, "annotations": { "source": "blog-content/posts/de/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md", "route": "/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/", "schema": "/nerd/schema/posts.json", "markdown": "/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md" } }, "spec": { "title": "IaaS Control Plane – Wrong NSX Edge cluster for T1 placement", "date": "2024-12-04", "author": "matthias-grasmueck", "locale": "de", "summary": "Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert.", "capabilities": [ "network", "security", "containers", "cloud" ], "vendors": [ "vmware" ], "series": "lessons-learned", "hero": "/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/hero.webp", "legacySlug": "iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement", "migrated": "2026-08-24", "draft": false }, "sections": [ { "body": "Ich hatte kürzlich eine [IaaS Control Plane](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-concepts-planning/GUID-70CAF0BB-1722-4526-9CE7-D5C92C15D7D0.html) (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. Dabei lief alles einwandfrei und der Betrieb konnte nach dem Upgrade wie gewohnt fortgeführt werden. Als ich für ein paar neue Dashboards in [VMware Aria Operations for Logs](https://docs.vmware.com/en/VMware-Aria-Operations-for-Logs/index.html) für die NSX T1 Gateways der vSphere Namespaces erstellen wollte, ist mir aufgefallen, dass die T1 SR Instanzen nicht auf dem vorgesehenen NSX Edge Cluster instanziiert wurden. Der NSX Edge Cluster Setup für den Supervisor Cluster sieht dabei wie folgt aus:\n\n![wcp-ec-design](/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/01.webp)\n\nDabei wird der T0 Gateway des Supervisor Clusters auf dem Edge Cluster 1 gehostet, während sämtliche T1 Gateways der vSphere Namespaces auf dem Edge Cluster 2 gehostet werden." }, { "heading": "

Das Problem

",
"body": "Die Tatsache, dass die T1 SR Instanzen der vSphere Namespaces nicht auf dem vorgesehen NSX Edge Cluster instanziiert wurden, liess auf ein Problem im Creation Workflow der vSphere Namespaces schliessen. Dabei habe ich zuerst versucht zu verstehen, ob das Verhalten dabei konsistent ist.\n\nIch habe dazu einen vSphere Namespace mit und einen ohne [Network Overrides](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-tkg/GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9.html#GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9) erstellt. Dabei wurde der vSphere Namespace **ohne Network Overrides** auf dem vorgesehen dedizierten T1 Edge Cluster bereitgestellt, während der vSphere Namespace **mit Network Overrides** auf dem Edge Cluster bereitgestellt wurde, auf welchem sich auch der T0 Gateway des Supervisor System Namespace befindet.\n\nNach dem ich in den Logs keine Indikatoren für ein Problem finden konnte, eröffnete ich eine VMware SR und nach kurzer Zeit war die Ursache auch schon klar. Mit dem Update auf vSphere 8.0.3 wurde auch das Verhalten der T1 Bereitstellung geändert.\n\nDabei gilt neu ab vSphere 8.0.3 folgendes Verhalten:\n\n- Wenn ein vSphere Namespace mit Network Overrides erstellt wird, werden die T1 SRs auf dem Edge Cluster platziert, welcher die T0 SRs des neuen vSphere Namespace hostet.\n- Wenn keine Network Overrides angegeben werden, werden die T1 SRs auf dem Standard Edge Cluster gem. [Supervisor Network Configuration](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-installation-configuration/GUID-7C6A52D8-CBD7-4FB1-BCBC-143778B89275.html) instanziiert.\n\nAber wie kann ich nun meine neuen vSphere Namespaces mit Network Overrides auf dem vorgesehenen Edge Cluster instanziieren?" }, { "heading": "

Die Lösung

",
"body": "Falls nach dem vSphere 8.0.3 Update bereits neue vSphere Namespaces angelegt wurden oder neue geplant sind, dann muss vorerst auf folgenden Workaround zurückgegriffen werden:\n\n```bash\n\n# [STEP-1]\n# Login to a NSX manager via root user\n# Get the respective T1 gateway ID of the newly created vSphere Namespace\ncurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s' | grep VSPHERE_NAMESPACE_T1_NAME-rtr -B 1\n\"id\" : \"t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr\",\n\"display_name\" : \"t1-domain-c5008:23e875a6-44gf-4814-94ff-e840ghm7bc03-VSPHERE_NAMESPACE_T1_NAME-rtr\",\n\n# [STEP-2]\n# Get the locale-services ID of the respective T1 gateway\n# locale-servces ID = t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0\n\ncurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces'\n{\n\"results\" : [ {\n\"edge_cluster_path\" : \"/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b\",\n\"resource_type\" : \"LocaleServices\",\n\"id\" : \"t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0\",\n\"display_name\" : \"t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0\",\n\"path\" : \"/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-services/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0\",\n\"relative_path\" : \"t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0\",\n\"parent_path\" : \"/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr\",\n\"remote_path\" : \"\",\n\"unique_id\" : \"84ca333a-8619-d3f31-a108-13d222c4c349\",\n\"realization_id\" : \"84ca333a-8619-d3f31-a108-13d222c4c349\",\n\"owner_id\" : \"48cb77bb-9t43-4285-a245-b2117f8a8b87\",\n\"marked_for_delete\" : false,\n\"overridden\" : false,\n\"_create_time\" : 1730469777339,\n\"_create_user\" : \"wcp-cluster-user-380fdd7d-6f2c-4cdw-82df-fb7dfddd1b9b-dbd7f126-633c-4a13-badf-f5wwd8cfd11e\",\n\"_last_modified_time\" : 1732889723175,\n\"_last_modified_user\" : \"admin\",\n\"_system_owned\" : false,\n\"_protection\" : \"REQUIRE_OVERRIDE\",\n\"_revision\" : 1\n} ],\n\"result_count\" : 1,\n\"sort_by\" : \"display_name\",\n\"sort_ascending\" : true\n\n# Verify the associated edge cluster in the 'edge_cluster_path' parameter\n\ncurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' | grep '\\\"id\\\" : \\\"294ss994-8128-4217-aa42-a182b954ak8b\\\"' -A 1\n\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"display_name\" : \"k8s-t0-ec\",\n\n# [STEP-3]\n# Get the 'path' parameter of the desired T1 edge cluster\n# Current edge cluster = 294ss994-8128-4217-aa42-a182b954ak8b\n# Desired edge cluster = 486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\n\ncurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters'\n{\n\"results\" : [ {\n\"nsx_id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"inter_site_forwarding_enabled\" : false,\n\"member_node_type\" : \"EDGE_NODE\",\n\"resource_type\" : \"PolicyEdgeCluster\",\n\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"display_name\" : \"k8s-t0-ec\",\n\"tags\" : [ ],\n\"path\" : \"/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b\",\n\"relative_path\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"parent_path\" : \"/infra/sites/default/enforcement-points/default\",\n\"remote_path\" : \"\",\n\"unique_id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"realization_id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\",\n\"owner_id\" : \"48cb77bb-9t43-4285-a245-b2117f8a8b87\",\n\"marked_for_delete\" : false,\n\"overridden\" : false,\n\"_create_time\" : 1702468345681,\n\"_create_user\" : \"admin\",\n\"_last_modified_time\" : 1702471331793,\n\"_last_modified_user\" : \"admin\",\n\"_system_owned\" : false,\n\"_protection\" : \"NOT_PROTECTED\",\n\"_revision\" : 1\n}, {\n\"nsx_id\" : \"486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"inter_site_forwarding_enabled\" : false,\n\"member_node_type\" : \"EDGE_NODE\",\n\"resource_type\" : \"PolicyEdgeCluster\",\n\"id\" : \"486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"display_name\" : \"k8s-t1-ec\",\n\"tags\" : [ ],\n\"path\" : \"/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"relative_path\" : \"486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"parent_path\" : \"/infra/sites/default/enforcement-points/default\",\n\"remote_path\" : \"\",\n\"unique_id\" : \"486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"realization_id\" : \"486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"owner_id\" : \"48cb77bb-9t43-4285-a245-b2117f8a8b87\",\n\"marked_for_delete\" : false,\n\"overridden\" : false,\n\"_create_time\" : 1702468349973,\n\"_create_user\" : \"admin\",\n\"_last_modified_time\" : 1702471337162,\n\"_last_modified_user\" : \"admin\",\n\"_system_owned\" : false,\n\"_protection\" : \"NOT_PROTECTED\",\n\"_revision\" : 1\n} ],\n\"result_count\" : 2,\n\"sort_by\" : \"display_name\",\n\"sort_ascending\" : true\n\n# [STEP-4]\n# Update the 'edge_cluster_path' parameter in the T1 locale-services from step 2 to the desired T1 edge cluster path from step 3\n\ncurl -k -u 'admin:PASSWORD' \\\n--request PUT 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0' \\\n--header 'X-Allow-Overwrite: True' \\\n--header 'Content-Type: application/json' \\\n--data-raw '{\n\"edge_cluster_path\": \"/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b\",\n\"_revision\": 0\n}'\n```\n\n> **Achtung:** Eine SR Relocation ist ein destruktiver Vorgang, bei der mit kurzen Verbindungsunterbrüchen zu den Workloads an dem betroffenen T1 Gateway gerechnet werden muss.\n\nDer grundsätzliche Vorgang ist einfach und kurz erklärt:\n\n1. Die **NSX Object ID** des betroffenen T1 Gateway ermitteln\n2. Die **locale-services ID** des betroffenen T1 Gateways ermitteln\n3. Sämtliche Edge Cluster der NSX Domain abfragen\n 1. deren **Path** Parameter mit jenem aus dem **edge\\_cluster\\_path** Parameter des betroffenen T1 Gateways vergleichen\n 2. den Path Parameter des korrekten Edge Clusters ermitteln\n4. Den **edge\\_cluster\\_path** Parameter des betroffenen T1 Gateways mit dem **Path** Parameter des korrekten Edge Clusters ersetzen\n\nNach dem der PUT Request übermittelt wurde, beginnt NSX damit, die T1 SR Instanzen auf den gewünschten Edge Cluster zu platzieren." } ], "status": { "corpus": 267, "alsoLike": [ { "ref": "posts/antrea-nsx-integration", "score": "0.84" }, { "ref": "posts/vsphere-with-tanzu-und-nsx-advanced-load-balancer-avi-secret-not-found", "score": "0.84" }, { "ref": "solutions/vmware/vmware-cloud-foundation/addon/advanced-security", "score": "0.65" } ] }}
apiVersion = "soultec.ch/v1"kind = "Post"[metadata]name = "iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement"locale = "de"[metadata.labels]author = "matthias-grasmueck"series = "lessons-learned""capability/network" = "2.16""capability/security" = "2.16""capability/containers" = "2.39""capability/cloud" = "1.94""vendor/vmware" = "0.88"[metadata.annotations]source = "blog-content/posts/de/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md"route = "/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/"schema = "/nerd/schema/posts.json"markdown = "/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md"[spec]title = "IaaS Control Plane – Wrong NSX Edge cluster for T1 placement"date = 2024-12-04author = "matthias-grasmueck"locale = "de"summary = "Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert."capabilities = ["network", "security", "containers", "cloud"]vendors = ["vmware"]series = "lessons-learned"hero = "/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/hero.webp"legacySlug = "iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement"migrated = 2026-08-24draft = false[[sections]]body = '''Ich hatte kürzlich eine [IaaS Control Plane](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-concepts-planning/GUID-70CAF0BB-1722-4526-9CE7-D5C92C15D7D0.html) (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. Dabei lief alles einwandfrei und der Betrieb konnte nach dem Upgrade wie gewohnt fortgeführt werden. Als ich für ein paar neue Dashboards in [VMware Aria Operations for Logs](https://docs.vmware.com/en/VMware-Aria-Operations-for-Logs/index.html) für die NSX T1 Gateways der vSphere Namespaces erstellen wollte, ist mir aufgefallen, dass die T1 SR Instanzen nicht auf dem vorgesehenen NSX Edge Cluster instanziiert wurden. Der NSX Edge Cluster Setup für den Supervisor Cluster sieht dabei wie folgt aus:![wcp-ec-design](/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/01.webp)Dabei wird der T0 Gateway des Supervisor Clusters auf dem Edge Cluster 1 gehostet, während sämtliche T1 Gateways der vSphere Namespaces auf dem Edge Cluster 2 gehostet werden.'''[[sections]]heading = "

Das Problem

"
body = '''Die Tatsache, dass die T1 SR Instanzen der vSphere Namespaces nicht auf dem vorgesehen NSX Edge Cluster instanziiert wurden, liess auf ein Problem im Creation Workflow der vSphere Namespaces schliessen. Dabei habe ich zuerst versucht zu verstehen, ob das Verhalten dabei konsistent ist.Ich habe dazu einen vSphere Namespace mit und einen ohne [Network Overrides](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-tkg/GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9.html#GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9) erstellt. Dabei wurde der vSphere Namespace **ohne Network Overrides** auf dem vorgesehen dedizierten T1 Edge Cluster bereitgestellt, während der vSphere Namespace **mit Network Overrides** auf dem Edge Cluster bereitgestellt wurde, auf welchem sich auch der T0 Gateway des Supervisor System Namespace befindet.Nach dem ich in den Logs keine Indikatoren für ein Problem finden konnte, eröffnete ich eine VMware SR und nach kurzer Zeit war die Ursache auch schon klar. Mit dem Update auf vSphere 8.0.3 wurde auch das Verhalten der T1 Bereitstellung geändert.Dabei gilt neu ab vSphere 8.0.3 folgendes Verhalten:- Wenn ein vSphere Namespace mit Network Overrides erstellt wird, werden die T1 SRs auf dem Edge Cluster platziert, welcher die T0 SRs des neuen vSphere Namespace hostet.- Wenn keine Network Overrides angegeben werden, werden die T1 SRs auf dem Standard Edge Cluster gem. [Supervisor Network Configuration](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-installation-configuration/GUID-7C6A52D8-CBD7-4FB1-BCBC-143778B89275.html) instanziiert.Aber wie kann ich nun meine neuen vSphere Namespaces mit Network Overrides auf dem vorgesehenen Edge Cluster instanziieren?'''[[sections]]heading = "

Die Lösung

"
body = '''Falls nach dem vSphere 8.0.3 Update bereits neue vSphere Namespaces angelegt wurden oder neue geplant sind, dann muss vorerst auf folgenden Workaround zurückgegriffen werden:```bash# [STEP-1]# Login to a NSX manager via root user# Get the respective T1 gateway ID of the newly created vSphere Namespacecurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s' | grep VSPHERE_NAMESPACE_T1_NAME-rtr -B 1"id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr","display_name" : "t1-domain-c5008:23e875a6-44gf-4814-94ff-e840ghm7bc03-VSPHERE_NAMESPACE_T1_NAME-rtr",# [STEP-2]# Get the locale-services ID of the respective T1 gateway# locale-servces ID = t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces'{"results" : [ {"edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b","resource_type" : "LocaleServices","id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","display_name" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-services/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","relative_path" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","parent_path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr","remote_path" : "","unique_id" : "84ca333a-8619-d3f31-a108-13d222c4c349","realization_id" : "84ca333a-8619-d3f31-a108-13d222c4c349","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1730469777339,"_create_user" : "wcp-cluster-user-380fdd7d-6f2c-4cdw-82df-fb7dfddd1b9b-dbd7f126-633c-4a13-badf-f5wwd8cfd11e","_last_modified_time" : 1732889723175,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "REQUIRE_OVERRIDE","_revision" : 1} ],"result_count" : 1,"sort_by" : "display_name","sort_ascending" : true# Verify the associated edge cluster in the 'edge_cluster_path' parametercurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' | grep '\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\"' -A 1"id" : "294ss994-8128-4217-aa42-a182b954ak8b","display_name" : "k8s-t0-ec",# [STEP-3]# Get the 'path' parameter of the desired T1 edge cluster# Current edge cluster = 294ss994-8128-4217-aa42-a182b954ak8b# Desired edge cluster = 486hc7c3-2d29-ad51-b6c3-ff52alo86f4bcurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters'{"results" : [ {"nsx_id" : "294ss994-8128-4217-aa42-a182b954ak8b","inter_site_forwarding_enabled" : false,"member_node_type" : "EDGE_NODE","resource_type" : "PolicyEdgeCluster","id" : "294ss994-8128-4217-aa42-a182b954ak8b","display_name" : "k8s-t0-ec","tags" : [ ],"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b","relative_path" : "294ss994-8128-4217-aa42-a182b954ak8b","parent_path" : "/infra/sites/default/enforcement-points/default","remote_path" : "","unique_id" : "294ss994-8128-4217-aa42-a182b954ak8b","realization_id" : "294ss994-8128-4217-aa42-a182b954ak8b","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1702468345681,"_create_user" : "admin","_last_modified_time" : 1702471331793,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "NOT_PROTECTED","_revision" : 1}, {"nsx_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","inter_site_forwarding_enabled" : false,"member_node_type" : "EDGE_NODE","resource_type" : "PolicyEdgeCluster","id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","display_name" : "k8s-t1-ec","tags" : [ ],"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","relative_path" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","parent_path" : "/infra/sites/default/enforcement-points/default","remote_path" : "","unique_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","realization_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1702468349973,"_create_user" : "admin","_last_modified_time" : 1702471337162,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "NOT_PROTECTED","_revision" : 1} ],"result_count" : 2,"sort_by" : "display_name","sort_ascending" : true# [STEP-4]# Update the 'edge_cluster_path' parameter in the T1 locale-services from step 2 to the desired T1 edge cluster path from step 3curl -k -u 'admin:PASSWORD' \--request PUT 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0' \--header 'X-Allow-Overwrite: True' \--header 'Content-Type: application/json' \--data-raw '{"edge_cluster_path": "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","_revision": 0}'```> **Achtung:** Eine SR Relocation ist ein destruktiver Vorgang, bei der mit kurzen Verbindungsunterbrüchen zu den Workloads an dem betroffenen T1 Gateway gerechnet werden muss.Der grundsätzliche Vorgang ist einfach und kurz erklärt:1. Die **NSX Object ID** des betroffenen T1 Gateway ermitteln2. Die **locale-services ID** des betroffenen T1 Gateways ermitteln3. Sämtliche Edge Cluster der NSX Domain abfragen 1. deren **Path** Parameter mit jenem aus dem **edge\_cluster\_path** Parameter des betroffenen T1 Gateways vergleichen 2. den Path Parameter des korrekten Edge Clusters ermitteln4. Den **edge\_cluster\_path** Parameter des betroffenen T1 Gateways mit dem **Path** Parameter des korrekten Edge Clusters ersetzenNach dem der PUT Request übermittelt wurde, beginnt NSX damit, die T1 SR Instanzen auf den gewünschten Edge Cluster zu platzieren.'''[status]corpus = 267[[status.alsoLike]]ref = "posts/antrea-nsx-integration"score = "0.84"[[status.alsoLike]]ref = "posts/vsphere-with-tanzu-und-nsx-advanced-load-balancer-avi-secret-not-found"score = "0.84"[[status.alsoLike]]ref = "solutions/vmware/vmware-cloud-foundation/addon/advanced-security"score = "0.65"
<?xml version="1.0" encoding="UTF-8"?><manifest kind="Post"> <apiVersion>soultec.ch/v1</apiVersion> <metadata> <name>iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement</name> <locale>de</locale> <labels> <author>matthias-grasmueck</author> <series>lessons-learned</series> <entry key="capability/network">2.16</entry> <entry key="capability/security">2.16</entry> <entry key="capability/containers">2.39</entry> <entry key="capability/cloud">1.94</entry> <entry key="vendor/vmware">0.88</entry> </labels> <annotations> <source>blog-content/posts/de/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md</source> <route>/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/</route> <schema>/nerd/schema/posts.json</schema> <markdown>/de/insights/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement.md</markdown> </annotations> </metadata> <spec> <title>IaaS Control Plane – Wrong NSX Edge cluster for T1 placement</title> <date>2024-12-04</date> <author>matthias-grasmueck</author> <locale>de</locale> <summary>Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert.</summary> <capabilities> <item>network</item> <item>security</item> <item>containers</item> <item>cloud</item> </capabilities> <vendors> <item>vmware</item> </vendors> <series>lessons-learned</series> <hero>/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/hero.webp</hero> <legacySlug>iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement</legacySlug> <migrated>2026-08-24</migrated> <draft>false</draft> </spec> <sections> <section> <body>Ich hatte kürzlich eine [IaaS Control Plane](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-concepts-planning/GUID-70CAF0BB-1722-4526-9CE7-D5C92C15D7D0.html) (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. Dabei lief alles einwandfrei und der Betrieb konnte nach dem Upgrade wie gewohnt fortgeführt werden. Als ich für ein paar neue Dashboards in [VMware Aria Operations for Logs](https://docs.vmware.com/en/VMware-Aria-Operations-for-Logs/index.html) für die NSX T1 Gateways der vSphere Namespaces erstellen wollte, ist mir aufgefallen, dass die T1 SR Instanzen nicht auf dem vorgesehenen NSX Edge Cluster instanziiert wurden. Der NSX Edge Cluster Setup für den Supervisor Cluster sieht dabei wie folgt aus:![wcp-ec-design](/blog-assets/iaas-control-plane-wrong-nsx-edge-cluster-for-t1-placement/01.webp)Dabei wird der T0 Gateway des Supervisor Clusters auf dem Edge Cluster 1 gehostet, während sämtliche T1 Gateways der vSphere Namespaces auf dem Edge Cluster 2 gehostet werden. </body> </section> <section> <heading>

Das Problem

</heading>
<body>Die Tatsache, dass die T1 SR Instanzen der vSphere Namespaces nicht auf dem vorgesehen NSX Edge Cluster instanziiert wurden, liess auf ein Problem im Creation Workflow der vSphere Namespaces schliessen. Dabei habe ich zuerst versucht zu verstehen, ob das Verhalten dabei konsistent ist.Ich habe dazu einen vSphere Namespace mit und einen ohne [Network Overrides](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-tkg/GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9.html#GUID-B1008957-F5FF-4257-AEA8-3004CFE22AB9) erstellt. Dabei wurde der vSphere Namespace **ohne Network Overrides** auf dem vorgesehen dedizierten T1 Edge Cluster bereitgestellt, während der vSphere Namespace **mit Network Overrides** auf dem Edge Cluster bereitgestellt wurde, auf welchem sich auch der T0 Gateway des Supervisor System Namespace befindet.Nach dem ich in den Logs keine Indikatoren für ein Problem finden konnte, eröffnete ich eine VMware SR und nach kurzer Zeit war die Ursache auch schon klar. Mit dem Update auf vSphere 8.0.3 wurde auch das Verhalten der T1 Bereitstellung geändert.Dabei gilt neu ab vSphere 8.0.3 folgendes Verhalten:- Wenn ein vSphere Namespace mit Network Overrides erstellt wird, werden die T1 SRs auf dem Edge Cluster platziert, welcher die T0 SRs des neuen vSphere Namespace hostet.- Wenn keine Network Overrides angegeben werden, werden die T1 SRs auf dem Standard Edge Cluster gem. [Supervisor Network Configuration](https://docs.vmware.com/en/VMware-vSphere/8.0/vsphere-with-tanzu-installation-configuration/GUID-7C6A52D8-CBD7-4FB1-BCBC-143778B89275.html) instanziiert.Aber wie kann ich nun meine neuen vSphere Namespaces mit Network Overrides auf dem vorgesehenen Edge Cluster instanziieren? </body> </section> <section> <heading>

Die Lösung

</heading>
<body>Falls nach dem vSphere 8.0.3 Update bereits neue vSphere Namespaces angelegt wurden oder neue geplant sind, dann muss vorerst auf folgenden Workaround zurückgegriffen werden:```bash# [STEP-1]# Login to a NSX manager via root user# Get the respective T1 gateway ID of the newly created vSphere Namespacecurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s' | grep VSPHERE_NAMESPACE_T1_NAME-rtr -B 1"id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr","display_name" : "t1-domain-c5008:23e875a6-44gf-4814-94ff-e840ghm7bc03-VSPHERE_NAMESPACE_T1_NAME-rtr",# [STEP-2]# Get the locale-services ID of the respective T1 gateway# locale-servces ID = t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces'{"results" : [ {"edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b","resource_type" : "LocaleServices","id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","display_name" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-services/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","relative_path" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0","parent_path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr","remote_path" : "","unique_id" : "84ca333a-8619-d3f31-a108-13d222c4c349","realization_id" : "84ca333a-8619-d3f31-a108-13d222c4c349","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1730469777339,"_create_user" : "wcp-cluster-user-380fdd7d-6f2c-4cdw-82df-fb7dfddd1b9b-dbd7f126-633c-4a13-badf-f5wwd8cfd11e","_last_modified_time" : 1732889723175,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "REQUIRE_OVERRIDE","_revision" : 1} ],"result_count" : 1,"sort_by" : "display_name","sort_ascending" : true# Verify the associated edge cluster in the 'edge_cluster_path' parametercurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' | grep '\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\"' -A 1"id" : "294ss994-8128-4217-aa42-a182b954ak8b","display_name" : "k8s-t0-ec",# [STEP-3]# Get the 'path' parameter of the desired T1 edge cluster# Current edge cluster = 294ss994-8128-4217-aa42-a182b954ak8b# Desired edge cluster = 486hc7c3-2d29-ad51-b6c3-ff52alo86f4bcurl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters'{"results" : [ {"nsx_id" : "294ss994-8128-4217-aa42-a182b954ak8b","inter_site_forwarding_enabled" : false,"member_node_type" : "EDGE_NODE","resource_type" : "PolicyEdgeCluster","id" : "294ss994-8128-4217-aa42-a182b954ak8b","display_name" : "k8s-t0-ec","tags" : [ ],"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b","relative_path" : "294ss994-8128-4217-aa42-a182b954ak8b","parent_path" : "/infra/sites/default/enforcement-points/default","remote_path" : "","unique_id" : "294ss994-8128-4217-aa42-a182b954ak8b","realization_id" : "294ss994-8128-4217-aa42-a182b954ak8b","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1702468345681,"_create_user" : "admin","_last_modified_time" : 1702471331793,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "NOT_PROTECTED","_revision" : 1}, {"nsx_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","inter_site_forwarding_enabled" : false,"member_node_type" : "EDGE_NODE","resource_type" : "PolicyEdgeCluster","id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","display_name" : "k8s-t1-ec","tags" : [ ],"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","relative_path" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","parent_path" : "/infra/sites/default/enforcement-points/default","remote_path" : "","unique_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","realization_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87","marked_for_delete" : false,"overridden" : false,"_create_time" : 1702468349973,"_create_user" : "admin","_last_modified_time" : 1702471337162,"_last_modified_user" : "admin","_system_owned" : false,"_protection" : "NOT_PROTECTED","_revision" : 1} ],"result_count" : 2,"sort_by" : "display_name","sort_ascending" : true# [STEP-4]# Update the 'edge_cluster_path' parameter in the T1 locale-services from step 2 to the desired T1 edge cluster path from step 3curl -k -u 'admin:PASSWORD' \--request PUT 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0' \--header 'X-Allow-Overwrite: True' \--header 'Content-Type: application/json' \--data-raw '{"edge_cluster_path": "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b","_revision": 0}'```&gt; **Achtung:** Eine SR Relocation ist ein destruktiver Vorgang, bei der mit kurzen Verbindungsunterbrüchen zu den Workloads an dem betroffenen T1 Gateway gerechnet werden muss.Der grundsätzliche Vorgang ist einfach und kurz erklärt:1. Die **NSX Object ID** des betroffenen T1 Gateway ermitteln2. Die **locale-services ID** des betroffenen T1 Gateways ermitteln3. Sämtliche Edge Cluster der NSX Domain abfragen 1. deren **Path** Parameter mit jenem aus dem **edge\_cluster\_path** Parameter des betroffenen T1 Gateways vergleichen 2. den Path Parameter des korrekten Edge Clusters ermitteln4. Den **edge\_cluster\_path** Parameter des betroffenen T1 Gateways mit dem **Path** Parameter des korrekten Edge Clusters ersetzenNach dem der PUT Request übermittelt wurde, beginnt NSX damit, die T1 SR Instanzen auf den gewünschten Edge Cluster zu platzieren. </body> </section> </sections> <status> <corpus>267</corpus> <alsoLike> <item> <ref>posts/antrea-nsx-integration</ref> <score>0.84</score> </item> <item> <ref>posts/vsphere-with-tanzu-und-nsx-advanced-load-balancer-avi-secret-not-found</ref> <score>0.84</score> </item> <item> <ref>solutions/vmware/vmware-cloud-foundation/addon/advanced-security</ref> <score>0.65</score> </item> </alsoLike> </status></manifest>
Lessons Learned · 2024-12-04

IaaS Control Plane – Wrong NSX Edge cluster for T1 placement

Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert.

2024-12-04Datum
Matthias GrasmückAutor
4Min. Lesezeit
Themen Netzwerk 2.16 Security 2.16 Container 2.39 Cloud 1.94
Hersteller VMware 0.88

Ich hatte kürzlich eine IaaS Control Plane (ehem. vSphere with Tanzu) Umgebung auf vSphere 8.0.3 aktualisiert. Dabei lief alles einwandfrei und der Betrieb konnte nach dem Upgrade wie gewohnt fortgeführt werden. Als ich für ein paar neue Dashboards in VMware Aria Operations for Logs für die NSX T1 Gateways der vSphere Namespaces erstellen wollte, ist mir aufgefallen, dass die T1 SR Instanzen nicht auf dem vorgesehenen NSX Edge Cluster instanziiert wurden. Der NSX Edge Cluster Setup für den Supervisor Cluster sieht dabei wie folgt aus:

wcp-ec-design

Dabei wird der T0 Gateway des Supervisor Clusters auf dem Edge Cluster 1 gehostet, während sämtliche T1 Gateways der vSphere Namespaces auf dem Edge Cluster 2 gehostet werden.

Das Problem

Die Tatsache, dass die T1 SR Instanzen der vSphere Namespaces nicht auf dem vorgesehen NSX Edge Cluster instanziiert wurden, liess auf ein Problem im Creation Workflow der vSphere Namespaces schliessen. Dabei habe ich zuerst versucht zu verstehen, ob das Verhalten dabei konsistent ist.

Ich habe dazu einen vSphere Namespace mit und einen ohne Network Overrides erstellt. Dabei wurde der vSphere Namespace ohne Network Overrides auf dem vorgesehen dedizierten T1 Edge Cluster bereitgestellt, während der vSphere Namespace mit Network Overrides auf dem Edge Cluster bereitgestellt wurde, auf welchem sich auch der T0 Gateway des Supervisor System Namespace befindet.

Nach dem ich in den Logs keine Indikatoren für ein Problem finden konnte, eröffnete ich eine VMware SR und nach kurzer Zeit war die Ursache auch schon klar. Mit dem Update auf vSphere 8.0.3 wurde auch das Verhalten der T1 Bereitstellung geändert.

Dabei gilt neu ab vSphere 8.0.3 folgendes Verhalten:

  • Wenn ein vSphere Namespace mit Network Overrides erstellt wird, werden die T1 SRs auf dem Edge Cluster platziert, welcher die T0 SRs des neuen vSphere Namespace hostet.
  • Wenn keine Network Overrides angegeben werden, werden die T1 SRs auf dem Standard Edge Cluster gem. Supervisor Network Configuration instanziiert.

Aber wie kann ich nun meine neuen vSphere Namespaces mit Network Overrides auf dem vorgesehenen Edge Cluster instanziieren?

Die Lösung

Falls nach dem vSphere 8.0.3 Update bereits neue vSphere Namespaces angelegt wurden oder neue geplant sind, dann muss vorerst auf folgenden Workaround zurückgegriffen werden:


# [STEP-1]
# Login to a NSX manager via root user
# Get the respective T1 gateway ID of the newly created vSphere Namespace
curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s' | grep VSPHERE_NAMESPACE_T1_NAME-rtr -B 1
"id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr",
"display_name" : "t1-domain-c5008:23e875a6-44gf-4814-94ff-e840ghm7bc03-VSPHERE_NAMESPACE_T1_NAME-rtr",

# [STEP-2]
# Get the locale-services ID of the respective T1 gateway
# locale-servces ID = t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0

curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces'
{
"results" : [ {
"edge_cluster_path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b",
"resource_type" : "LocaleServices",
"id" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0",
"display_name" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0",
"path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-services/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0",
"relative_path" : "t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0",
"parent_path" : "/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr",
"remote_path" : "",
"unique_id" : "84ca333a-8619-d3f31-a108-13d222c4c349",
"realization_id" : "84ca333a-8619-d3f31-a108-13d222c4c349",
"owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87",
"marked_for_delete" : false,
"overridden" : false,
"_create_time" : 1730469777339,
"_create_user" : "wcp-cluster-user-380fdd7d-6f2c-4cdw-82df-fb7dfddd1b9b-dbd7f126-633c-4a13-badf-f5wwd8cfd11e",
"_last_modified_time" : 1732889723175,
"_last_modified_user" : "admin",
"_system_owned" : false,
"_protection" : "REQUIRE_OVERRIDE",
"_revision" : 1
} ],
"result_count" : 1,
"sort_by" : "display_name",
"sort_ascending" : true

# Verify the associated edge cluster in the 'edge_cluster_path' parameter

curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters' | grep '\"id\" : \"294ss994-8128-4217-aa42-a182b954ak8b\"' -A 1
"id" : "294ss994-8128-4217-aa42-a182b954ak8b",
"display_name" : "k8s-t0-ec",

# [STEP-3]
# Get the 'path' parameter of the desired T1 edge cluster
# Current edge cluster = 294ss994-8128-4217-aa42-a182b954ak8b
# Desired edge cluster = 486hc7c3-2d29-ad51-b6c3-ff52alo86f4b

curl -k -u 'admin:PASSWORD' --request GET 'https://localhost/policy/api/v1/infra/sites/default/enforcement-points/default/edge-clusters'
{
"results" : [ {
"nsx_id" : "294ss994-8128-4217-aa42-a182b954ak8b",
"inter_site_forwarding_enabled" : false,
"member_node_type" : "EDGE_NODE",
"resource_type" : "PolicyEdgeCluster",
"id" : "294ss994-8128-4217-aa42-a182b954ak8b",
"display_name" : "k8s-t0-ec",
"tags" : [ ],
"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/294ss994-8128-4217-aa42-a182b954ak8b",
"relative_path" : "294ss994-8128-4217-aa42-a182b954ak8b",
"parent_path" : "/infra/sites/default/enforcement-points/default",
"remote_path" : "",
"unique_id" : "294ss994-8128-4217-aa42-a182b954ak8b",
"realization_id" : "294ss994-8128-4217-aa42-a182b954ak8b",
"owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87",
"marked_for_delete" : false,
"overridden" : false,
"_create_time" : 1702468345681,
"_create_user" : "admin",
"_last_modified_time" : 1702471331793,
"_last_modified_user" : "admin",
"_system_owned" : false,
"_protection" : "NOT_PROTECTED",
"_revision" : 1
}, {
"nsx_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"inter_site_forwarding_enabled" : false,
"member_node_type" : "EDGE_NODE",
"resource_type" : "PolicyEdgeCluster",
"id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"display_name" : "k8s-t1-ec",
"tags" : [ ],
"path" : "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"relative_path" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"parent_path" : "/infra/sites/default/enforcement-points/default",
"remote_path" : "",
"unique_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"realization_id" : "486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"owner_id" : "48cb77bb-9t43-4285-a245-b2117f8a8b87",
"marked_for_delete" : false,
"overridden" : false,
"_create_time" : 1702468349973,
"_create_user" : "admin",
"_last_modified_time" : 1702471337162,
"_last_modified_user" : "admin",
"_system_owned" : false,
"_protection" : "NOT_PROTECTED",
"_revision" : 1
} ],
"result_count" : 2,
"sort_by" : "display_name",
"sort_ascending" : true

# [STEP-4]
# Update the 'edge_cluster_path' parameter in the T1 locale-services from step 2 to the desired T1 edge cluster path from step 3

curl -k -u 'admin:PASSWORD' \
--request PUT 'https://localhost/policy/api/v1/infra/tier-1s/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr/locale-servces/t1_778759f1-e306-3322-8fe4-6ddkjh658b09_rtr-0' \
--header 'X-Allow-Overwrite: True' \
--header 'Content-Type: application/json' \
--data-raw '{
"edge_cluster_path": "/infra/sites/default/enforcement-points/default/edge-clusters/486hc7c3-2d29-ad51-b6c3-ff52alo86f4b",
"_revision": 0
}'

Achtung: Eine SR Relocation ist ein destruktiver Vorgang, bei der mit kurzen Verbindungsunterbrüchen zu den Workloads an dem betroffenen T1 Gateway gerechnet werden muss.

Der grundsätzliche Vorgang ist einfach und kurz erklärt:

  1. Die NSX Object ID des betroffenen T1 Gateway ermitteln
  2. Die locale-services ID des betroffenen T1 Gateways ermitteln
  3. Sämtliche Edge Cluster der NSX Domain abfragen
    1. deren Path Parameter mit jenem aus dem edge_cluster_path Parameter des betroffenen T1 Gateways vergleichen
    2. den Path Parameter des korrekten Edge Clusters ermitteln
  4. Den edge_cluster_path Parameter des betroffenen T1 Gateways mit dem Path Parameter des korrekten Edge Clusters ersetzen

Nach dem der PUT Request übermittelt wurde, beginnt NSX damit, die T1 SR Instanzen auf den gewünschten Edge Cluster zu platzieren.

Passt ausserdem