Si vous souhaitez créer un domaine de charge de travail VI avec plusieurs hôtes vSphere Distributed Switch (vDS) ou utiliser des hôtes ESXi avec plus de deux pNIC, vous devez utiliser l'API VMware Cloud Foundation.

Cette procédure utilise domainCreationSpec pour créer un domaine de charge de travail VI à l'aide de l'API VMware Cloud Foundation. Elle se concentre sur deux sections spécifiques de domainCreationSpec qui vous permettent de créer un domaine de charge de travail VI avec plusieurs vDS ou d'utiliser des hôtes ESXi avec plus de deux pNIC ; hostSpecs et vdsSpecs.

Modifiez ces sections et complétez les autres sections de domainCreationSpec 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 domainCreationSpec. Reportez-vous à un exemple de spécification domainCreationSpec complète à la fin de cette procédure.
Note : Si vous souhaitez que le nouveau domaine de charge de travail VI utilise un nouveau domaine vCenter Single Sign-On qui n'est utilisé par aucun autre domaine de charge de travail, vous devez inclure ssoDomainSpec. Tous les composants du domaine de gestion doivent être mis à niveau vers VMware Cloud Foundation 5.0 avant de pouvoir créer un domaine SSO.

Vous pouvez utiliser l'API VMware Cloud Foundation pour exécuter plusieurs tâches POST /v1/domains en parallèle. Si les domaines de charge de travail VI que vous créez utilisent une instance de NSX existante, cette instance de NSX doit déjà faire partie d'un domaine de charge de travail correctement déployé.

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

Conditions préalables

Reportez-vous à la section Conditions préalables pour un domaine de charge de travail.

Procédure

  1. Obtenez les ID des hôtes ESXi que vous souhaitez ajouter au domaine de charge de travail VI.
    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-cl01-vds01"
              }, {
                "id" : "vmnic1",
                "vdsName" : "sfo-w01-cl01-vds01"
              }, {
                "id" : "vmnic2",
                "vdsName" : "sfo-w01-cl01-vds02"
              }, {
                "id" : "vmnic3",
                "vdsName" : "sfo-w01-cl01-vds02"
              } ]
            }
          },
    Pour chaque hôte ESXi, ajoutez une section qui inclut :
    • id
    • licenseKey
    • userName
    • hostNetworkSpec
    Utilisez les ID d'hôte ESXi de l'étape 1.
  3. Dans un éditeur de texte, créez une spécification JSON pour les vdsSpecs. Par exemple :
    "vdsSpecs": [
                   {
                       "name": "sfo-w01-cl01-vds01",
                       "portGroupSpecs": [
                           {
                               "name": "sfo01-w01-cl01-vds01-pg-mgmt",
                               "transportType": "MANAGEMENT"
                           },
                           {
                               "name": "sfo01-w01-cl01-vds01-pg-vmotion",
                               "transportType": "VMOTION"
                           }
                       ]
                   },
                   {
                       "name": "sfo-w01-cl01-vds02",
                       "portGroupSpecs": [
                           {
                               "name": "sfo01-w01-cl01-vds02-pg-vsan",
                               "transportType": "VSAN"
                           }
                       ],
                       "isUsedByNsxt": true
                   }
    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.
  4. Dans Interface utilisateur de SDDC Manager, cliquez sur Centre de développement > Explorateur d'API.
  5. Développez la section API pour la gestion des domaines et cliquez sur POST /v1/domains/validations.
  6. Dans la colonne Description/Type de données, cliquez sur DomainCreationSpec.
    Validation de domainCreationSpec dans l'explorateur d'API
  7. Remplacez la section hostSpecs avec les informations du fichier JSON hostSpecs.
  8. Remplacez la section vdsSpecs par les informations du fichier JSON de vdsSpecs.
  9. Mettez à jour ou supprimez les autres sections de domainCreationSpec si nécessaire, en fonction du domaine de charge de travail VI que vous créez.
    Reportez-vous à un exemple de spécification domainCreationSpec complète à la fin de cette procédure.
  10. Cliquez sur Exécuter pour valider la spécification domainCreationSpec.
    Si la validation réussit, copiez le contenu domainCreationSpec et passez à l'étape suivante. Si la validation échoue, vérifiez les erreurs dans la réponse, mettez à jour la spécification domainCreationSpec et validez-la à nouveau.
  11. Développez la section API pour la gestion des domaines et cliquez sur POST /v1/domains.
  12. Collez le contenu validé de la spécification domainCreationSpec et cliquez sur Exécuter.
    Utilisez le panneau Tâches dans Interface utilisateur de SDDC Manager pour surveiller la création du domaine de charge de travail VI.

Exemple

Exemple de spécification domainCreationSpec complète
{
  "domainName" : "sfo-w01",
  "vcenterSpec" : {
    "name" : "sfo-w01-vc01",
    "networkDetailsSpec" : {
      "ipAddress" : "10.0.0.43",
      "dnsName" : "sfo-w01-vc01.vrack.vsphere.local",
      "gateway" : "10.0.0.250",
      "subnetMask" : "255.255.255.0"
    },
    "rootPassword" : "<password>",
    "datacenterName" : "sfo-w01-dc01",
    "vmSize" : "medium",
    "storageSize" : "lstorage"
  },
  "computeSpec" : {
    "clusterSpecs" : [ {
      "name" : "sfo-w01-cl01",
      "hostSpecs" : [ {
        "id" : "0ac30e66-7f65-4477-8331-80c3777c153c",
        "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
        "username" : "root",
        "hostNetworkSpec" : {
          "vmNics" : [ {
            "id" : "vmnic0",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic1",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic2",
            "vdsName" : "sfo-w01-cl01-vds02"
          }, {
            "id" : "vmnic3",
            "vdsName" : "sfo-w01-cl01-vds02"
          } ]
        }
      }, {
        "id" : "05d1a8df-773a-46bb-8838-dcb5bb3358ea",
        "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
        "username" : "root",
        "hostNetworkSpec" : {
          "vmNics" : [ {
            "id" : "vmnic0",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic1",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic2",
            "vdsName" : "sfo-w01-cl01-vds02"
          }, {
            "id" : "vmnic3",
            "vdsName" : "sfo-w01-cl01-vds02"
          } ]
        }
      }, {
        "id" : "2b8b770f-265d-4a63-b830-9c98038c81b2",
        "licenseKey": "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
        "username" : "root",
        "hostNetworkSpec" : {
          "vmNics" : [ {
            "id" : "vmnic0",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic1",
            "vdsName" : "sfo-w01-cl01-vds01"
          }, {
            "id" : "vmnic2",
            "vdsName" : "sfo-w01-cl01-vds02"
          }, {
            "id" : "vmnic3",
            "vdsName" : "sfo-w01-cl01-vds02"
          } ]
        }
      } ],
      "datastoreSpec" : {
        "vsanDatastoreSpec" : {
          "failuresToTolerate" : 1,
          "licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
          "datastoreName" : "sfo-w01-cl01-ds-vsan01"
        }
      },
      "networkSpec" : {
        "vdsSpecs" : [ {
          "name" : "sfo-w01-cl01-vds01",
          "portGroupSpecs" : [ {
            "name" : "sfo-w01-cl01-vds01-pg-mgmt",
            "transportType" : "MANAGEMENT"
          }, {
            "name" : "sfo-w01-cl01-vds01-pg-vmotion",
            "transportType" : "VMOTION"
          }]
        }, {
          "name" : "sfo-w01-cl01-vds02",
          "portGroupSpecs" : [ {
            "name" : "sfo-w01-cl01-vds02-pg-vsan",
            "transportType" : "VSAN"
          } ],
          "isUsedByNsxt" : true
        } ],
        "nsxClusterSpec" : {
          "nsxTClusterSpec" : {
            "geneveVlanId" : 2,
            "ipAddressPoolSpec" : {
                "name" : "static-ip-pool-01",
                "subnets" : [ {
                  "ipAddressPoolRanges" : [ {
                    "start" : "10.0.11.50",
                    "end" : "10.0.11.70"
                  }, {
                    "start" : "10.0.11.80",
                    "end" : "10.0.11.150"
                  } ],
                  "cidr" : "10.0.11.0/24",
                  "gateway" : "10.0.11.250"
                } ]
              }
          }
        }
      }
    } ]
  },
  "nsxTSpec" : {
    "nsxManagerSpecs" : [ {
      "name" : "sfo-w01-nsx01a",
      "networkDetailsSpec" : {
        "ipAddress" : "10.0.0.44",
        "dnsName" : "sfo-w01-nsx01a.vrack.vsphere.local",
        "gateway" : "10.0.0.250",
        "subnetMask" : "255.255.255.0"
      }
    }, {
      "name" : "sfo-w01-nsx01b",
      "networkDetailsSpec" : {
        "ipAddress" : "10.0.0.45",
        "dnsName" : "sfo-w01-nsx01b.vrack.vsphere.local",
        "gateway" : "10.0.0.250",
        "subnetMask" : "255.255.255.0"
      }
    }, {
      "name" : "sfo-w01-nsx01c",
      "networkDetailsSpec" : {
        "ipAddress" : "10.0.0.46",
        "dnsName" : "sfo-w01-nsx01c.vrack.vsphere.local",
        "gateway" : "10.0.0.250",
        "subnetMask" : "255.255.255.0"
      }
    } ],
    "vip" : "10.0.0.166",
    "vipFqdn" : "sfo-w01-nsx01.vrack.vsphere.local",
    "licenseKey" : "XXXXX-XXXXX-XXXXX-XXXXX-XXXXX",
    "nsxManagerAdminPassword" : "<password>",
    "formFactor" : "large"
  }
}