Si vous souhaitez ajouter un cluster vSphere avec plusieurs commutateurs vSphere Distributed Switch (vDS) ou utiliser des hôtes ESXi disposant de plus de deux pNIC, utilisez l'API VMware Cloud Foundation.

Pour le domaine de gestion, tous les clusters vSphere doivent utiliser vSAN pour le stockage principal. Pour les domaines de charge de travail VI, les clusters vSphere peuvent utiliser vSAN, NFS, VMFS sur FC ou vVols pour le stockage principal. Si un domaine de charge de travail VI dispose de plusieurs clusters, chaque cluster peut utiliser un type différent de stockage principal, tant que tous les hôtes d'un cluster vSphere utilisent le même type.

Vous pouvez exécuter plusieurs tâches d'ajout de cluster en même temps.

Cette procédure utilise la spécification clusterCreationSpec pour ajouter un cluster vSphere à un domaine de charge de travail à l'aide de l'API VMware Cloud Foundation. Elle se concentre sur deux sections spécifiques de la spécification clusterCreationSpec qui vous permettent d'ajouter un cluster vSphere avec plusieurs vDS ou d'utiliser des hôtes ESXi disposant de plus de deux pNIC : hostSpecs et networkSpec.

Vous devrez modifier ces sections et remplir les autres sections de clusterCreationSpec requises pour votre environnement. Reportez-vous au Guide de référence de l'API VMware Cloud Foundation pour plus d'informations sur toutes les sections de clusterCreationSpec. Reportez-vous à un exemple de spécification clusterCreationSpec complète à la fin de cette procédure.

Les exemples de la procédure suivante sont basés sur le scénario suivant.
Deux commutateurs vSphere Distributed Switch
  • sfo-w01-cl02-vds01
  • sfo-w01-cl02-vds02
Quatre pNIC
  • vmnic0
  • vmnic1
  • vmnic2
  • vmnic3
Mappage pNIC vers vDS
  • vmnic0 et vmnic1 vers sfo-w01-cl02-vds01
  • vmnic2 et vmnic3 vers sfo-w01-cl02-vds02
Mappage de vDS vers le type de trafic
  • sfo-w01-cl02-vds01 : gestion et vMotion
  • sfo-w01-cl02-vds02 : vSAN, superposition d'hôte et liaisons montantes Edge
Modifiez les exemples en fonction de votre environnement VMware Cloud Foundation.

Conditions préalables

  • Vérifiez qu'au moins trois hôtes sont disponibles dans l'inventaire SDDC Manager. Pour plus d'informations sur la mise en service des hôtes, reportez-vous à la section Mettre en service des hôtes.
    Note : Si le cluster vSphere utilise NFS, VMFS sur FC ou vVols comme stockage principal et que le domaine de charge de travail VI utilise des images vSphere Lifecycle Manager comme méthode de mise à jour, deux hôtes seulement sont requis. Workload Management nécessite un cluster vSphere comportant au moins trois hôtes ESXi.
  • Assurez-vous que les hôtes que vous souhaitez ajouter au cluster vSphere sont dans un état actif.
  • Vous devez disposer d'une licence vSphere et d'une licence vSAN (si vous utilisez le stockage vSAN) valides spécifiées dans l'onglet Attribution de licence de l'Interface utilisateur de SDDC Manager, avec les sockets disponibles pour l'hôte à ajouter. Pour plus d'informations, consultez Ajouter une clé de licence.
    Note : Si vous utilisez VCF+, les clés de licence ne sont pas requises.
  • Si vous utilisez DHCP pour le réseau de superposition de l'hôte NSX, un serveur DHCP doit être configuré sur le VLAN de superposition de l'hôte NSX du domaine de gestion. Lorsque NSX crée des TEP pour le domaine de charge de travail VI, des adresses IP leur sont attribuées à partir du serveur DHCP.

Procédure

  1. Obtenez les ID des hôtes ESXi que vous souhaitez ajouter au cluster vSphere.
    1. Dans Interface utilisateur de SDDC Manager, cliquez sur Centre de développement > Explorateur d'API.
    2. Développez la section API pour la gestion des hôtes et cliquez sur GET /v1/hosts.
    3. Entrez UNASSIGNED_USEABLE dans la zone de texte État et cliquez sur Exécuter.
    4. Dans la réponse, localisez et copiez l'ID de chaque hôte que vous souhaitez ajouter au domaine de charge de travail VI.
  2. Dans un éditeur de texte, créez une spécification JSON pour hostSpecs. Par exemple :
    "hostSpecs" : [ {
            "id" : "0ac30e66-7f65-4477-8331-80c3777c153c",
            "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
            "username" : "root",
            "hostNetworkSpec" : {
              "vmNics" : [ {
                "id" : "vmnic0",
                "vdsName" : "sfo-w01-cl02-vds01"
              }, {
                "id" : "vmnic1",
                "vdsName" : "sfo-w01-cl02-vds01"
              }, {
                "id" : "vmnic2",
                "vdsName" : "sfo-w01-cl02-vds02"
              }, {
                "id" : "vmnic3",
                "vdsName" : "sfo-w01-cl02-vds02"
              } ]
            }
          },
    Pour chaque hôte ESXi, ajoutez une section qui inclut :
    • id
    • licenseKey
      Note : Si vous utilisez VCF+, les clés de licence ne sont pas requises.
    • userName
    • hostNetworkSpec
    Utilisez les ID d'hôte ESXi de l'étape 1.
  3. Obtenez l'ID du domaine de charge de travail auquel vous ajoutez un cluster vSphere.
    1. Dans Interface utilisateur de SDDC Manager, cliquez sur Centre de développement > Explorateur d'API.
    2. Développez la section API pour la gestion des domaines et cliquez sur GET /v1/domains.
    3. Cliquez sur Exécuter.
    4. Dans la réponse, localisez et copiez l'ID du domaine de charge de travail, auquel vous souhaitez ajouter un cluster vSphere.
  4. Dans un éditeur de texte, créez une spécification JSON pour networkSpec. Par exemple :
     "networkSpec" : {
                 "vdsSpecs": [
                   {
                       "name": "sfo-w01-cl02-vds01",
                       "portGroupSpecs": [
                           {
                               "name": "sfo01-w01-cl02-vds01-pg-mgmt",
                               "transportType": "MANAGEMENT"
                           },
                           {
                               "name": "sfo01-w01-cl02-vds01-pg-vmotion",
                               "transportType": "VMOTION"
                           }
                       ]
                   },
                   {
                       "name": "sfo-w01-cl02-vds02",
                       "isUsedByNsxt": true,
                       "portGroupSpecs": [
                           {
                               "name": "sfo01-w01-cl02-vds02-pg-vsan",
                               "transportType": "VSAN"
                           }
                       ]
                    }],
                     "nsxClusterSpec" : 
                        {
                        "nsxTClusterSpec" : 
                           {
                        "geneveVlanId" : 12
                           }
                        }
              }
    Note : Spécifiez "isUsedByNsxt": true pour le vDS à utiliser pour le trafic de superposition de l'hôte. Si vous disposez de plusieurs commutateurs vSphere Distributed Switch, un seul d'entre eux peut spécifier « isUsedByNsxt »: true.
  5. Dans Interface utilisateur de SDDC Manager, cliquez sur Centre de développement > Explorateur d'API.
  6. Développez la section API pour la gestion des clusters et cliquez sur POST /v1/clusters/validations.
  7. Dans la colonne Description/Type de données, cliquez sur ClusterCreationSpec.
    clusterCreationSpec dans l'explorateur d'API
  8. Remplacez la section hostSpecs avec les informations du fichier JSON hostSpecs.
  9. Remplacez la section networkSpec avec les informations du fichier JSON networkSpec.
  10. Remplacez domainId par l'ID du domaine de charge de travail à l'étape 3.
  11. Mettez à jour ou supprimez les autres sections de clusterCreationSpec si nécessaire, en fonction du cluster vSphere que vous ajoutez.
    Reportez-vous à un exemple de spécification clusterCreationSpec complète à la fin de cette procédure.
  12. Cliquez sur Exécuter pour valider la spécification clusterCreationSpec.
    Si la validation réussit, copiez le contenu clusterCreationSpec et passez à l'étape suivante. Si la validation échoue, vérifiez les erreurs dans la réponse, mettez à jour la spécification clusterCreationSpec et validez-la de nouveau.
  13. Développez la section API pour la gestion des clusters et cliquez sur POST /v1/clusters.
  14. Collez le contenu de la spécification clusterCreationSpec validé et cliquez sur Exécuter.
    Vous pouvez utiliser la propriété skipFailedHosts pour déterminer ce qui se passe lorsqu'un ou plusieurs hôtes ESXi que vous avez sélectionnés pour le cluster sont défectueux. Si vous spécifiez "skipFailedHosts":false et que votre nouveau cluster inclut un hôte défectueux, la création du cluster échoue. Si vous spécifiez "skipFailedHosts":true et que votre nouveau cluster inclut un hôte défectueux, la création du cluster réussira si vous avez sélectionné suffisamment d'hôtes sains afin de remplir les conditions requises pour un nouveau cluster. Si vous ne disposez pas d'un nombre suffisant d'hôtes sains, la création du cluster échoue. Si vous ne spécifiez aucune valeur pour skipFailedHosts, le système est défini par défaut sur "skipFailedHosts":true.
    Utilisez le panneau Tâches dans l' Interface utilisateur de SDDC Manager pour surveiller l'ajout du cluster vSphere au domaine de charge de travail.

Exemple

Exemple de spécification clusterCreationSpec complète
{
  "domainId": "7d7cf328-5e79-45f5-9b1c-3973f951a910",
  "computeSpec": {
    "clusterSpecs": [
      {
        "name": "sfo-w01-cl02",
        "hostSpecs": [
          {
            "id": "e0579270-7a67-4af6-9f5b-99905160c953",
            "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
            "hostNetworkSpec": {
              "vmNics": [
                {
                  "id": "vmnic0",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic1",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic2",
                  "vdsName": "sfo-w01-cl02-vds02"
                },
                {
                  "id": "vmnic3",
                  "vdsName": "sfo-w01-cl02-vds02"
                }
              ]
            }
          },
          {
            "id": "d9db5f30-72a0-4829-8882-17fe5610a03b",
            "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
            "hostNetworkSpec": {
              "vmNics": [
                {
                  "id": "vmnic0",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic1",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic2",
                  "vdsName": "sfo-w01-cl02-vds02"
                },
                {
                  "id": "vmnic3",
                  "vdsName": "sfo-w01-cl02-vds02"
                }
              ]
            }
          },
          {
            "id": "13148430-f151-4fdc-b5f3-083590674e12",
            "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
            "hostNetworkSpec": {
              "vmNics": [
                {
                  "id": "vmnic0",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic1",
                  "vdsName": "sfo-w01-cl02-vds01"
                },
                {
                  "id": "vmnic2",
                  "vdsName": "sfo-w01-cl02-vds02"
                },
                {
                  "id": "vmnic3",
                  "vdsName": "sfo-w01-cl02-vds02"
                }
              ]
            }
          }
        ],
        "datastoreSpec": {
          "vsanDatastoreSpec": {
            "failuresToTolerate": 1,
            "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
            "datastoreName": "sfo-w01-cl02-ds-vsan01"
          }
        },
        "networkSpec": {
          "vdsSpecs": [
            {
              "name": "sfo-w01-cl02-vds01",
              "portGroupSpecs": [
                {
                  "name": "sfo-w01-cl02-vds01-pg-mgmt",
                  "transportType": "MANAGEMENT"
                },
                {
                  "name": "sfo-w01-cl02-vds01-pg-vmotion",
                  "transportType": "VMOTION"
                }
              ]
            },
            {
              "name": "sfo-w01-cl02-vds02",
              "isUsedByNsxt": true,
              "portGroupSpecs": [
                {
                  "name": "sfo-w01-cl02-vds02-pg-vsan",
                  "transportType": "VSAN"
                }
              ]
            }
          ],
          "nsxClusterSpec": {
            "nsxTClusterSpec": {
              "geneveVlanId": ""
            }
          }
        }
      }
    ]
  },
  "advancedOptions": {
    "evcMode": "",
    "highAvailability": {
      "enabled": true
    }
  }
}