À l'aide d'API, configurez NSX Manager pour installer automatiquement des contrôleurs sur les hôtes vSphere ESXi gérés par un serveur vCenter Server. Une fois les contrôleurs installés, ils sont automatiquement ajoutés à un cluster de contrôleurs sur des hôtes vSphere ESXi.

Procédure

  1. Avant de déclencher la création automatique du cluster de contrôleurs, vous devez extraire l'ID de vCenter Server, l'ID de calcul, l'ID de stockage et l'ID réseau requis en tant que charge utile de l'API POST.
  2. Connectez-vous à vCenter Server.

    https://<vCenterServer_IPAddress>/mob.

  3. Dans la colonne Valeur, cliquez sur Contenu.
  4. Sur la page Propriétés du contenu, accédez à la fonction de recherche de la colonne Valeur pour rechercher le centre de données et cliquez sur le lien du groupe.
  5. Sur la page Propriétés du groupe, accédez à la colonne Valeur et cliquez sur le lien du centre de données.
  6. Sur la page Propriétés du centre de données, copiez la valeur de banque de données et la valeur de réseau que vous souhaitez utiliser pour créer le cluster de contrôleurs.
  7. Cliquez sur le lien HostFolder.
  8. Sur la page Propriétés du groupe, copiez la valeur de cluster que vous souhaitez utiliser pour créer le cluster de contrôleurs.
  9. Pour extraire l'ID vCenter Server, accédez à l'interface utilisateur NSX Manager et copiez son ID à partir de la page Gestionnaire de calcul.
  10. POST https://<nsx-manager>/api/v1/cluster/nodes/deployments
    REQUEST 
    { 
      "deployment_requests": [ 
        { 
          "roles": ["CONTROLLER"], 
            "user_settings": { 
            "cli_password": "CLIp4$$w4rd", 
            "root_password": "ROOTp4$$w4rd" 
          }, 
          "deployment_config": { 
            "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
            "vc_id": "69874c95-51ed-4775-bba8-e0d13bdb4fed", 
            "management_network_id": "network-13", 
            "hostname": "controller-0", 
            "compute_id": "domain-s9", 
            "storage_id": "datastore-12", 
            "default_gateway_addresses":[ 
            "10.33.79.253" 
            ], 
            "management_port_subnets":[ 
              { 
               "ip_addresses":[ 
               "10.33.79.64" 
               ], 
                "prefix_length":"22" 
              } 
            ] 
          } 
        }, 
        { 
          "roles": ["CONTROLLER"], 
            "user_settings": { 
            "cli_password": "VMware$123", 
            "root_password": "VMware$123" 
          }, 
    
          "deployment_config": { 
            "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
            "vc_id": "69874c95-51ed-4775-bba8-e0d13bdb4fed", 
            "management_network_id": "network-13", 
            "hostname": "controller-1", 
            "compute_id": "domain-s9", 
            "storage_id": "datastore-12" 
            "default_gateway_addresses":[ 
             "10.33.79.253" 
            ], 
           "management_port_subnets":[ 
              { 
                "ip_addresses":[ 
                  "10.33.79.65" 
                ], 
                "prefix_length":"22" 
              } 
            ] 
          }  
        } 
      ], 
    						"deployment_config": { 
          "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
          "vc_id": "69874c95-51ed-4775-bba8-e0d13bdb4fed", 
          "management_network_id": "network-13", 
          "hostname": "controller-0", 
          "compute_id": "domain-s9", 
          "storage_id": "datastore-12", 
          "default_gateway_addresses":[ 
          "10.33.79.253" 
           ], 
          "management_port_subnets":[ 
           { 
            "ip_addresses":[ 
            "10.33.79.66" 
             ], 
            "prefix_length":"22" 
              } 
            ] 
          } 
        }, 
      
    		"clustering_config": { 
        "clustering_type": "ControlClusteringConfig", 
        "shared_secret": "123456", 
        "join_to_existing_cluster": false 
      } 
    } 
    
    Response 
    { 
      "result_count": 2, 
      "results": [ 
        { 
          "user_settings": { 
            "cli_password": "[redacted]", 
            "root_password": "[redacted]", 
            "cli_username": "admin" 
          }, 
          "vm_id": "71f02260-644f-4482-aa9a-ab8570bb49a3", 
          "roles": [ 
            "CONTROLLER" 
          ], 
          "deployment_config": { 
            "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
            "vc_id": "69874c95-51ed-4775-bba8-e0d13bdb4fed", 
            "management_network_id": "network-13", 
            "default_gateway_addresses": [ 
              "10.33.79.253" 
            ], 
            "hostname": "controller-0", 
            "compute_id": "domain-s9", 
            "storage_id": "datastore-12", 
            "management_port_subnets": [ 
              { 
                "ip_addresses": [ 
                  "10.33.79.64" 
                ], 
               "prefix_length": 22 
              } 
            ] 
          }, 
    
          "form_factor": "SMALL" 
        }, 
    
        { 
          "user_settings": { 
            "cli_password": "[redacted]", 
            "root_password": "[redacted]", 
            "cli_username": "admin" 
          }, 
    
          "vm_id": "38029a2b-b9bc-467f-8138-aef784e802cc", 
          "roles": [ 
            "CONTROLLER" 
          ], 
          "deployment_config": { 
            "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
            "vc_id": "69874c95-51ed-4775-bba8-e0d13bdb4fed", 
            "management_network_id": "network-13", 
            "hostname": "controller-1", 
            "compute_id": "domain-s9", 
            "storage_id": "datastore-12" 
          }, 
          "form_factor": "MEDIUM" 
        } 
      ] 
    } 
  11. Vous pouvez afficher l'état du déploiement à l'aide de l'appel d'API. GET https://<nsx-manager>/api/v1/cluster/nodes/deployments
    { 
    
      "result_count": 2, 
      "results": [ 
        { 
          "user_settings": { 
            "cli_password": "[redacted]", 
            "root_password": "[redacted]" 
          }, 
    	     "vm_id": "12f563af-af9f-48f3-848e-e9257c8740b0", 
          "roles": [ 
          "CONTROLLER" 
          ], 
    
          "deployment_config": { 
          "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
          "vc_id": "15145422-47a1-4c55-81da-01d953151d1f", 
          "management_network_id": "network-158", 
          "hostname": "controller-0", 
          "compute_id": "domain-c154", 
          "storage_id": "datastore-157" 
          }, 
          "form_factor": "SMALL", 
        }, 
        { 
          "user_settings": { 
          "cli_password": "[redacted]", 
          "root_password": "[redacted]" 
          }, 
          "vm_id": "cc21854c-265b-42de-af5f-05448c00777a", 
          "roles": [ 
          "CONTROLLER" 
          ], 
          "deployment_config": { 
          "placement_type": "VsphereClusterNodeVMDeploymentConfig", 
          "vc_id": "feb17651-49a7-4ce6-88b4-41d3f624e53b", 
          "management_network_id": "network-158", 
          "hostname": "controller-0", 
          "compute_id": "domain-c154", 
          "storage_id": "datastore-157" 
          }, 
    
          "form_factor": "MEDIUM", 
        } 
      ] 
    
    } 

Que faire ensuite

Supprimez un cluster. Reportez-vous à la section Supprimer NSX Controller.