vSphere-Cluster zu einer Domain hinzufügen

In diesem Dokument wird beschrieben, wie Sie einen vSphere-Cluster zu einer vorhandenen VMware Cloud Foundation (VCF) 9.1-Domain in der VMware-Lösung in Google Cloud mithilfe von Compute Engine-Bare-Metal-Instanzen hinzufügen. Fügen Sie einen Cluster hinzu, wenn Sie die Rechen- und vSAN-Speicherkapazität über einen einzelnen Cluster hinaus skalieren, Arbeitslasten isolieren oder separate vSphere Lifecycle Manager-Images (vLCM) oder vSAN-Speicherrichtlinien innerhalb einer vorhandenen Domain anwenden möchten. Sie können den Cluster einer der folgenden Domains im selben Projekt, VPC-Netzwerk (Virtual Private Cloud) und in derselben Zone hinzufügen:

  • Verwaltungsdomain: Fügt einen Cluster hinzu, der vom vCenter-Verwaltungsserver und NSX Manager verwaltet wird.
  • VI-Arbeitslastdomain: Fügt einen Cluster hinzu, der von der Arbeitslastdomain vCenter Server und der zugehörigen NSX Manager-Instanz verwaltet wird.

Zusammenfassung der Architektur

Wenn Sie einer vorhandenen VCF-Domain einen vSphere-Cluster hinzufügen, wird für die Bereitstellung die folgende Architektur verwendet:

  • Bare-Metal-ESXi-Hosts: Jeder neue ESXi-Host ist eine z3-highmem-192-highlssd-metal-Bare-Metal-Instanz, die an die vorhandenen Layer-2-Subnetze Ihres VPC-Netzwerk (ESXi-Verwaltung, vMotion, vSAN und NSX-Tunnelendpunkt (TEP)) angehängt ist. Jeder Host stellt eine Verbindung über eine primäre Netzwerkschnittstelle (nic0) und VLAN-getaggte Dynamic Network Interfaces her.
  • Keine zusätzlichen Verwaltungs-Appliances: Da Sie den Cluster dem vCenter Server und dem NSX Manager hinzufügen, die die Zieldomain bereits verwalten, stellen Sie keine neuen Verwaltungs-Appliances bereit. Sie erstellen auch keine neuen Cloud DNS-Einträge, Backend-Dienste, Hochverfügbarkeitsrichtlinien oder Weiterleitungsregeln für die Appliance. Stattdessen fügen Sie die neuen Hosts den vorhandenen zonalen Netzwerk-Endpunktgruppen (NEGs) hinzu.
  • IP-Adresszuweisung und -ausrichtung: VCF weist vMotion- und vSAN-IP-Adressen aus einem Netzwerkpool zu und NSX weist TEP-IP-Adressen (vmk10) aus einem NSX-IP-Adresspool zu. Da keiner der Pools die statische Zuweisung pro Host in VCF 9.1 unterstützt, richten Sie die Dynamic NICs von Compute Engine während der Bereitstellung an den von VCF zugewiesenen IP-Adressen aus und lassen alle VCF-Validierungen aktiviert.

Hinweis

Prüfen Sie vor dem Erstellen des Clusters die Anforderungen in den folgenden Abschnitten und konfigurieren Sie Ihre Umgebungsvariablen.

Umgebungsanforderungen prüfen

Prüfen Sie, ob Ihre Umgebung die folgenden Anforderungen erfüllt:

  • Berechtigungen: Sie haben die erforderlichen IAM-Rollen (Identity and Access Management) für das Zielprojekt, einschließlich Compute-Administrator (roles/compute.admin), DNS-Administrator (roles/dns.admin) und Secret Manager Secret Accessor (roles/secretmanager.secretAccessor).
  • Anmeldedaten in Secret Manager: Wenn Sie Ihre Passwörter für ESXi root, SDDC Manager, vCenter Server oder NSX Manager in VCF nach der ersten Bereitstellung geändert oder rotiert haben, wird Secret Manager nicht automatisch aktualisiert. Bevor Sie die Befehle in diesem Dokument ausführen, aktualisieren Sie die entsprechenden Secrets in Secret Manager oder geben Sie die aktualisierten Passwörter direkt an, damit sie mit Ihren aktiven VCF-Anmeldedaten übereinstimmen.
  • Domainzustand: Die Zieldomain ist fehlerfrei (vCenter Server, vSAN, NSX Manager, SDDC Manager und VCF Operations) und es gibt keine fehlgeschlagenen Aufgaben.
  • vSphere Lifecycle Manager-Image (vLCM): Ein vLCM-Image ist in der VCF-Image-Bibliothek verfügbar oder Sie planen, ein Image von einem Host zu extrahieren. Verwenden Sie dasselbe Image, das auch Ihre vorhandenen Cluster verwenden, damit alle Hosts aufeinander abgestimmt bleiben.
  • Speichergeräte: Jeder neue Host hat lokale NVMe-SSD-Geräte ohne vorhandene Partitionen, wie für vSAN erforderlich.
  • Mindestanzahl von Knoten: Ein Cluster erfordert mindestens drei Bare-Metal-Knoten. Das ist die Mindestanzahl, die für vSAN mit einem tolerierbaren Fehler (FTT=1) erforderlich ist.
  • Maschinentyp: Alle Knoten im Cluster verwenden denselben Maschinentyp (z3-highmem-192-highlssd-metal für vSAN Express Storage Architecture (ESA)).
  • Zone: Der neue Cluster befindet sich in derselben Zone wie die vorhandenen zonalen NEGs für die Verwaltung und NSX TEP.
  • Jumpbox-VM: Sie haben Zugriff auf eine Jumpbox-VM, auf der die gcloud-Befehlszeile, curl und jq installiert sind und die eine Netzwerkverbindung zum VPC-Netzwerk hat (z. B. im Subnetz bm-gcp-demo).
  • Trusted Image-Richtlinie und VPC Service Controls: Wenn Ihre Organisation die Organisationsrichtlinie constraints/compute.trustedImageProjects erzwingt oder einen VPC Service Controls-Dienstperimeter verwendet, muss Ihr Projekt Image-Zugriff auf das Projekt smve-prod-public-images (projects/999037279871) zulassen. Weitere Informationen finden Sie unter Knotenkapazität verwalten.
  • VLAN-basiertes Netzwerk: Für die VMware-Lösung muss die Eigenschaft Subnetzmaske auflösen der Subnetze Ihres VPC-Netzwerk auf Primären Bereich nur mit Lernen übertragen festgelegt sein, um VLAN-basierte Netzwerke zu unterstützen. Öffnen Sie im Google Cloud Console-Supportcenter ein Support-Ticket mit den folgenden Informationen:

    • Produkt: Google Cloud VMware Engine
    • Priorität: P2
    • Kategorie: Network Connectivity
    • Auswirkungen auf das Geschäft: Allgemeine technische Frage
    • Geben Sie weitere Details an: Allowlist L2 network connectivity for my project, zusammen mit Ihrer Projekt-ID, Projektnummer und der Zielregion und -zone für Ihre Bereitstellung.

    Weitere Informationen zur Unterstützung von VLAN-basierten Netzwerken finden Sie unter Layer-2-Emulation: ARP-Broadcasting und benutzerdefiniertes MAC-Learning.

Beispielumgebungsparameter prüfen

In den Befehlen in diesem Dokument werden die folgenden Beispielparameter verwendet:

Eingabeparameter Beispielwert Beschreibung
Projekt-ID PROJECT_ID Dasselbe Google Cloud Projekt wie die Zieldomain
Region und Zone us-east4/us-east4-b Dieselbe Zone wie die vorhandenen zonalen NEGs
Kunden-ID demo In vorhandenen Ressourcennamen verwendete Kennung
Zieldomain mgmt-domain (oder wld01) Vorhandene Verwaltungsdomain oder VI-Arbeitslastdomain
Clustername cl02 Name des neuen vSphere-Clusters
Maschinentyp z3-highmem-192-highlssd-metal Homogener Maschinentyp für alle Knoten im Cluster
Knotenanzahl 3 Mindestanzahl von Knoten für vSAN FTT=1
VPC-Netzwerk bm-demo Vorhandenes VPC-Netzwerk
Subnetze (VLAN-ID) bm-mgmt-demo (ohne Tag), bm-vmotion-demo (2), bm-vsan-demo (3), bm-nsx-demo (4) Vorhandene Layer-2-Subnetze
Zonale NEGs bm-mgmt-demo, bm-nsx-tep-demo Vorhandene Verwaltungs- und NSX-TEP-NEGs
ESXi-Image Familie astra-vcf-9-1-x, Projekt smve-prod-offline-depot Gleicher ESXi-Image-Build wie die vorhandenen Cluster
DNS-Domain und -Zonen vmware.gve / dns-zone-demo, rev-dns-zone-demo Vorhandene verwaltete Cloud DNS-Weiterleitungs- und Reverse-Zonen
SDDC Manager sddcm.vmware.gve (192.168.0.3) Vorhandene SDDC Manager-Appliance
ESXi-root-Passwort esxi-root-password Vorhandenes Secret Manager-Secret mit dem ESXi-root-Passwort

IP-Adressen und Hostnamen planen

Die folgende Tabelle zeigt den Beispiel-IP-Adressplan für die drei neuen ESXi-Hosts:

ESXi-Host Verwaltungs-IP (nic0) vMotion (VLAN 2) vSAN (VLAN 3) NSX TEP (VLAN 4)
esxi-h7 192.168.0.161 192.168.2.21 192.168.3.21 192.168.4.21
esxi-h8 192.168.0.162 192.168.2.22 192.168.3.22 192.168.4.22
esxi-h9 192.168.0.163 192.168.2.23 192.168.3.23 192.168.4.23

Zieldomain auswählen

Die von Ihnen ausgewählte Zieldomain bestimmt, welcher vCenter Server, NSX Manager und welche Overlay-Transportzone den neuen Cluster verwalten:

Parameter oder Ressource Cluster in der Verwaltungsdomain Cluster in einer VI-Arbeitslastdomain
TARGET_DOMAIN-Variable mgmt-domain wld01
vCenter Server verwalten vc01.vmware.gve vc02.vmware.gve
NSX_MANAGER-Variable nsx01.vmware.gve (Verwaltungs-NSX) nsx05.vmware.gve (dediziertes NSX) oder nsx01.vmware.gve (gemeinsam genutztes Verwaltungs-NSX)
TRANSPORT_ZONE-Variable overlay-tz-mgmt-nsxt Overlay-Transportzone der NSX-Instanz der Arbeitslastdomain

Regionales Kontingent prüfen

Bevor Sie Bare-Metal-Knoten bereitstellen oder einen Cluster erstellen, prüfen Sie, ob Ihr Projekt über ein ausreichendes regionales und globales Compute Engine-Kontingent verfügt. Fügen Sie die Ressourcen aller vorhandenen Cluster in der Region den folgenden inkrementellen Werten hinzu, bevor Sie sie mit Ihrem Projektkontingent vergleichen:

Kontingent Erforderliche Ressourcen pro Bare-Metal-Knoten Erforderliche Ressourcen für einen Cluster mit 3 Knoten
compute.googleapis.com/cpus_per_vm_family für Z3 192 vCPUs 3 × 192 = 576 vCPUs
compute.googleapis.com/local_ssd_total_storage_per_vm_family für Z3 72 TB 3 × 72 TB = 216 TB
compute.googleapis.com/hyperdisk_balanced_total_storage 128 GB 3 × 128 GB = 384 GB
compute.googleapis.com/resource_policies 0, wenn Knoten zu einem vorhandenen Cluster hinzugefügt werden 1 Richtlinie für verteilte Platzierung pro Cluster
compute.googleapis.com/regional_backend_services_protocol_forwarding_fast_ha 0, wenn Knoten oder Cluster ohne neue Appliances hinzugefügt werden 1 pro neuer VCF-Verwaltungs-Appliance-VIP oder NSX Edge-Endpunkt

Eine vollständige Liste der erforderlichen Kontingente und eine Anleitung zum Aufrufen oder Anfordern von Kontingenterhöhungen finden Sie unter Kontingente und Limits.

Umgebungsvariablen festlegen

Legen Sie die folgenden Umgebungsvariablen in Ihrer Jumpbox-Shell fest, um sie in den Befehlen in dieser Anleitung zu verwenden:

export PROJECT_ID="PROJECT_ID"
export REGION="us-east4"
export ZONE="us-east4-b"
export CUSTOMER_ID="demo"
export VPC_NETWORK="bm-${CUSTOMER_ID}"
export DOMAIN="vmware.gve"
export DNS_ZONE="dns-zone-${CUSTOMER_ID}"
export REV_DNS_ZONE="rev-dns-zone-${CUSTOMER_ID}"
export MGMT_SUBNET="bm-mgmt-${CUSTOMER_ID}"
export VMOTION_SUBNET="bm-vmotion-${CUSTOMER_ID}"
export VSAN_SUBNET="bm-vsan-${CUSTOMER_ID}"
export TEP_SUBNET="bm-nsx-${CUSTOMER_ID}"
export MGMT_NEG="bm-mgmt-${CUSTOMER_ID}"
export TEP_NEG="bm-nsx-tep-${CUSTOMER_ID}"
export CLUSTER_NAME="cl02"
export PLACEMENT_POLICY="bm-${CLUSTER_NAME}"
export NETWORK_POOL_NAME="${CLUSTER_NAME}-np01"
export TEP_POOL_NAME="${CLUSTER_NAME}-tep-pool"
export VDS_NAME="${CLUSTER_NAME}-vds-01"
export MACHINE_TYPE="z3-highmem-192-highlssd-metal"
export ESXI_IMAGE_FAMILY="astra-vcf-9-1-x"
export ESXI_IMAGE_PROJECT="smve-prod-offline-depot"
export SDDC_MANAGER="sddcm.vmware.gve"            # 192.168.0.3
export VCF_USER="admin@local"
export VCF_PASSWORD="VCF_ADMIN_PASSWORD"
export ESXI_PASSWORD_SECRET="esxi-root-password"  # Secret Manager secret holding the ESXi root password
export MTU=8896                                   # VPC MTU

# Target domain parameters
export TARGET_DOMAIN="mgmt-domain"                # Or wld01
export NSX_MANAGER="nsx01.vmware.gve"             # Or nsx05.vmware.gve for wld01 with a dedicated NSX instance
export TRANSPORT_ZONE="overlay-tz-mgmt-nsxt"      # Overlay transport zone of the target NSX instance

# Ordered host list: name mgmt_ip vmotion_ip vsan_ip tep_ip
CLUSTER_HOSTS=(
  "esxi-h7 192.168.0.161 192.168.2.21 192.168.3.21 192.168.4.21"
  "esxi-h8 192.168.0.162 192.168.2.22 192.168.3.22 192.168.4.22"
  "esxi-h9 192.168.0.163 192.168.2.23 192.168.3.23 192.168.4.23"
)

# TEP pool range matching the new hosts' Compute Engine TEP NIC IPs
export TEP_CIDR="192.168.4.0/24"
export TEP_GATEWAY="192.168.4.1"
export TEP_START="192.168.4.21"
export TEP_END="192.168.4.23"

Ersetzen Sie vor dem Ausführen der Befehle Folgendes:

  • PROJECT_ID: die ID Ihres Google Cloud-Zielprojekts.
  • VCF_ADMIN_PASSWORD: Ihr SDDC Manager-Administratorpasswort.

Prüfen Sie, ob eine Ihrer geplanten IP-Adressen bereits von vorhandenen Weiterleitungsregeln oder Instanzen verwendet wird:

gcloud compute forwarding-rules list --project="${PROJECT_ID}" --regions="${REGION}" \
    --format="table(name,IPAddress,subnetwork.basename())"
gcloud compute instances list --project="${PROJECT_ID}" --zones="${ZONE}" \
    --format="table(name,networkInterfaces[].networkIP.list())"

DNS-Einträge erstellen

Beim Bereitstellen der Verwaltungsdomain haben Sie die Layer-2-Subnetze, die Cloud DNS-Richtlinie für die Weiterleitung von eingehendem Traffic sowie die verwalteten Zonen für die Weiterleitung und die umgekehrte Weiterleitung erstellt. Da beim Hinzufügen eines Clusters keine neuen Appliances bereitgestellt werden, müssen Sie nur Forward- (A) und Reverse-Einträge (PTR) für die neuen ESXi-Hosts erstellen:

add_dns() {
  local name=$1 ip=$2
  gcloud dns record-sets create "${name}.${DOMAIN}." \
      --rrdatas="${ip}" --type=A --ttl=300 \
      --zone="${DNS_ZONE}" --project="${PROJECT_ID}"
  local rev
  rev=$(echo "${ip}" | awk -F. '{print $4"."$3"."$2"."$1".in-addr.arpa."}')
  gcloud dns record-sets create "${rev}" \
      --rrdatas="${name}.${DOMAIN}." --type=PTR --ttl=300 \
      --zone="${REV_DNS_ZONE}" --project="${PROJECT_ID}"
}

for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST MGMT_IP _ <<< "${entry}"
  add_dns "${HOST}" "${MGMT_IP}"
done

# Verify DNS records
gcloud dns record-sets list --zone="${DNS_ZONE}" --project="${PROJECT_ID}" \
    --filter="name~'esxi-h[7-9]'"

Bare-Metal-Instanzen erstellen

Erstellen Sie eine dedizierte Platzierungsrichtlinie für den neuen Cluster. Anschließend erstellen Sie jeden Bare-Metal-ESXi-Host mit einer primären Verwaltungsschnittstelle (nic0) und mit VLAN-Tags versehenen dynamischen NICs für vMotion (VLAN 2), vSAN (VLAN 3) und NSX TEP (VLAN 4).

Platzierungsrichtlinie erstellen

Erstellen Sie die Gruppenplatzierungsrichtlinie:

gcloud compute resource-policies create group-placement "${PLACEMENT_POLICY}" \
    --region="${REGION}" \
    --availability-domain-count=6 \
    --collocation=COLLOCATED \
    --project="${PROJECT_ID}"

Bootlaufwerke und Bare-Metal-ESXi-Instanzen erstellen

Erstellen Sie für jeden Host im Cluster das Google Cloud Hyperdisk Balanced-Bootlaufwerk und die Bare-Metal-ESXi-Instanz:

i=0
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST MGMT_IP VMOTION_IP VSAN_IP TEP_IP <<< "${entry}"
  AD=$(( (i % 6) + 1 )); i=$((i + 1))

  # Create boot disk
  gcloud compute disks create "${HOST}" \
      --image-project="${ESXI_IMAGE_PROJECT}" \
      --image-family="${ESXI_IMAGE_FAMILY}" \
      --type=hyperdisk-balanced --interface=NVME --size=128GB \
      --guest-os-features=IDPF \
      --zone="${ZONE}" --project="${PROJECT_ID}"

  # Create bare-metal ESXi host
  gcloud compute instances create "${HOST}" \
      --zone="${ZONE}" \
      --machine-type="${MACHINE_TYPE}" \
      --can-ip-forward \
      --resource-policies="${PLACEMENT_POLICY}" \
      --availability-domain="${AD}" \
      --hostname="${HOST}.${DOMAIN}" \
      --disk="name=${HOST},boot=yes,auto-delete=yes" \
      --labels=gcve-node=true \
      --tags=mm-gcve-node \
      --deletion-protection \
      --maintenance-policy=TERMINATE \
      --restart-on-failure \
      --network-performance-configs=total-egress-bandwidth-tier=TIER_1 \
      --project="${PROJECT_ID}" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${MGMT_SUBNET},no-address,private-network-ip=${MGMT_IP}" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${VMOTION_SUBNET},no-address,private-network-ip=${VMOTION_IP},vlan=2" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${VSAN_SUBNET},no-address,private-network-ip=${VSAN_IP},vlan=3" \
      --network-interface="network-tier=PREMIUM,stack-type=IPV4_ONLY,subnet=${TEP_SUBNET},no-address,private-network-ip=${TEP_IP},vlan=4"
done

# Verify instance creation and network interfaces
gcloud compute instances list --project="${PROJECT_ID}" --zones="${ZONE}" \
    --filter="name~'esxi-h[7-9]'" \
    --format="table(name,status,networkInterfaces[].vlan.list(),networkInterfaces[].networkIP.list())"

NEG-Mitgliedschaft aktualisieren

Alle Knoten in einer Zone müssen zur selben zonalen NEG des Subnetzes gehören, damit VCF-Netzwerk-Appliances Traffic über Clusterknoten weiterleiten können. Fügen Sie die neuen Hosts der vorhandenen Verwaltungs-NEG und NSX-TEP-NEG hinzu:

# List the NEGs in the zone (management and NSX TEP)
gcloud compute network-endpoint-groups list --zones="${ZONE}" --project="${PROJECT_ID}" \
    --format="table(name,subnetwork.basename(),networkEndpointType,size)"

ALL_NEGS=("${MGMT_NEG}" "${TEP_NEG}")
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST _ <<< "${entry}"
  for NEG in "${ALL_NEGS[@]}"; do
    gcloud compute network-endpoint-groups update "${NEG}" \
        --zone="${ZONE}" \
        --add-endpoint="instance=${HOST}" \
        --project="${PROJECT_ID}"
  done
done

# Verify NEG endpoints
for NEG in "${ALL_NEGS[@]}"; do
  gcloud compute network-endpoint-groups list-network-endpoints "${NEG}" \
      --zone="${ZONE}" --project="${PROJECT_ID}" \
      --format="table(networkEndpoint.instance,networkEndpoint.ipAddress)"
done

ESXi-Root-Passwort zurücksetzen

Setzen Sie aus Sicherheitsgründen und für die Hostbereitstellung das root-Passwort jedes neuen Hosts auf das in Secret Manager gespeicherte ESXi-root-Passwort zurück. Sie verwenden dasselbe Secret, um die Hosts in einem späteren Schritt in Betrieb zu nehmen. Achten Sie darauf, dass das Passwort die Komplexitätsanforderungen von VCF erfüllt (mindestens 15 Zeichen, einschließlich Großbuchstaben, Kleinbuchstaben, Ziffern und Sonderzeichen). Wenn Sie Ihre ESXi-root- oder VCF-Passwörter nach der ersten Bereitstellung geändert oder rotiert haben, aktualisieren Sie das entsprechende Secret in Secret Manager, bevor Sie diese Befehle ausführen.

Führen Sie die folgenden Befehle auf der Jumpbox-VM aus, um das root-Passwort auf jedem neuen Host zurückzusetzen, und geben Sie das ursprüngliche ESXi-root-Passwort ein, wenn Sie dazu aufgefordert werden:

# 1. Read the ESXi root password from Secret Manager
ESXI_ROOT_PASSWORD=$(gcloud secrets versions access latest \
    --secret="${ESXI_PASSWORD_SECRET}" --project="${PROJECT_ID}")

# 2. Reset the root password on each new host
for entry in "${CLUSTER_HOSTS[@]}"; do
  read -r HOST _ <<< "${entry}"
  ssh -o StrictHostKeyChecking=no "root@${HOST}.${DOMAIN}" \
      "esxcli system account set -i root -p '${ESXI_ROOT_PASSWORD}' -c '${ESXI_ROOT_PASSWORD}'"
done

# 3. Optional: Verify that the FQDN is set and vmk0 is configured as STATIC
ssh "root@esxi-h7.${DOMAIN}" \
    'esxcli system hostname get; esxcli network ip interface ipv4 get -i vmk0'

Dedizierten Netzwerkpool erstellen

VCF weist vMotion- und vSAN-IP-Adressen aus dem Netzwerkpool zu, den Sie beim Bereitstellen von Hosts auswählen. Da die Netzwerkpools Ihrer vorhandenen Cluster nur ihre eigenen Host-IP-Adressen enthalten, erstellen Sie einen dedizierten Netzwerkpool, dessen IP-Bereiche genau die vMotion- und vSAN-IP-Adressen enthalten, die Sie den Dynamic NICs der neuen Hosts in Compute Engine vorab zugewiesen haben. Wenn Sie einen dedizierten Netzwerkpool verwenden, bleibt die VCF-IP-Zuweisung innerhalb der Gruppe der vorab zugewiesenen Compute Engine-IP-Adressen. Sie müssen die Host-zu-IP-Reihenfolge also nur dann später anpassen, wenn eine Abweichung auftritt.

Sie können den Netzwerkpool mit VCF Operations oder der SDDC Manager API erstellen:

VCF-Vorgänge

Gehen Sie in VCF Operations zu Netzwerkpoolverwaltung, klicken Sie auf Netzwerkpool erstellen und erstellen Sie den Netzwerkpool cl02-np01 mit den Netzwerkeinstellungen für vMotion (VLAN 2, 192.168.2.21–192.168.2.23) und vSAN (VLAN 3, 192.168.3.21–192.168.3.23) und einer MTU von 8896 Byte.

SDDC Manager API

Führen Sie die folgenden Befehle aus, um den Netzwerkpool zu erstellen und seine ID abzurufen:

TOKEN=$(curl -s -X POST "https://${SDDC_MANAGER}/v1/tokens" \
    -H "Content-Type: application/json" \
    -d "{\"username\":\"${VCF_USER}\",\"password\":\"${VCF_PASSWORD}\"}" | jq -r '.accessToken')

curl -s -X POST "https://${SDDC_MANAGER}/v1/network-pools" \
    -H "Authorization: Bearer ${TOKEN}" -H "Content-Type: application/json" \
    -d "{
      \"name\": \"${NETWORK_POOL_NAME}\",
      \"networks\": [
        { \"type\": \"VMOTION\", \"vlanId\": 2, \"mtu\": ${MTU},
          \"subnet\": \"192.168.2.0\", \"mask\": \"255.255.255.0\", \"gateway\": \"192.168.2.1\",
          \"ipPools\": [ { \"start\": \"192.168.2.21\", \"end\": \"192.168.2.23\" } ] },
        { \"type\": \"VSAN\", \"vlanId\": 3, \"mtu\": ${MTU},
          \"subnet\": \"192.168.3.0\", \"mask\": \"255.255.255.0\", \"gateway\": \"192.168.3.1\",
          \"ipPools\": [ { \"start\": \"192.168.3.21\", \"end\": \"192.168.3.23\" } ] }
      ]
    }"

# Retrieve the network pool ID for host commissioning
POOL_ID=$(curl -s "https://${SDDC_MANAGER}/v1/network-pools" -H "Authorization: Bearer ${TOKEN}" \
    | jq -r --arg n "${NETWORK_POOL_NAME}" '.elements[] | select(.name==$n) | .id')
echo "${POOL_ID}"