Questo documento spiega come creare in blocco un numero elevato di istanze di macchine virtuali (VM) per il computing ad alte prestazioni (HPC) identiche e indipendenti tra loro. Le istanze utilizzano tipi di macchine H4D e vengono eseguite su blocchi di capacità riservati.
Per saperne di più sulla creazione di VM in blocco, consulta Informazioni sulla creazione in blocco delle VM. Per creare in blocco istanze che non utilizzano le prenotazioni per funzionalità di gestione avanzata dei cluster, consulta Creare VM in blocco.
Per scoprire altri modi per creare cluster di grandi dimensioni di VM H4D strettamente accoppiate, consulta la pagina Panoramica della creazione di cluster HPC.
Prima di iniziare
Scegli un'opzione di consumo: per creare istanze di calcolo collettivamente e attivare funzionalità di gestione avanzata dei cluster, puoi scegliere una prenotazione futura in modalità Calendario o VM spot.
Se scegli di utilizzare le VM spot, le VM potrebbero non essere collocate in modo compatto. Inoltre, le VM spot possono essere prerilasciate in base alle necessità e non sono idonee per la gestione degli eventi di manutenzione dell'host per gruppi di VM.
Ottenere capacità: la procedura per ottenere capacità varia per ogni opzione di consumo.
Per saperne di più, consulta Scegliere un'opzione di consumo e ottenere capacità.
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione verifica la tua identità per l'accesso a Google Cloud servizi e API. Per eseguire
codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su
Compute Engine selezionando una delle seguenti opzioni:
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
- Set a default region and zone.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI. Dopo l'installazione, inizializza Google Cloud CLI eseguendo il comando seguente:
gcloud initSe utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
Per saperne di più, consulta Autenticati per usare REST nella documentazione sull'autenticazione di Google Cloud .
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per creare più VM contemporaneamente, chiedi all'amministratore di concederti i seguenti ruoli IAM sul progetto:
-
Compute Instance Admin (v1) (
roles/compute.instanceAdmin.v1) -
Compute Network Admin (
roles/compute.networkAdmin)
Per saperne di più sulla concessione dei ruoli, consulta Gestisci l'accesso a progetti, cartelle e organizzazioni.
Questi ruoli predefiniti contengono le autorizzazioni necessarie per creare più VM contemporaneamente. Per vedere quali sono esattamente le autorizzazioni richieste, espandi la sezione Autorizzazioni obbligatorie:
Autorizzazioni obbligatorie
Per creare più VM contemporaneamente, sono necessarie le seguenti autorizzazioni:
-
compute.instances.createsul progetto -
Per utilizzare un'immagine personalizzata per creare la VM:
compute.images.useReadOnlysull'immagine -
Per utilizzare uno snapshot per creare la VM:
compute.snapshots.useReadOnlysullo snapshot -
Per utilizzare un template di istanza per creare la VM:
compute.instanceTemplates.useReadOnlysul template di istanza -
Per specificare una subnet per la VM:
compute.subnetworks.usesul progetto o sulla subnet scelta -
Per specificare un indirizzo IP statico per la VM:
compute.addresses.usesul progetto -
Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete VPC:
compute.subnetworks.useExternalIpsul progetto o sulla subnet scelta -
Per assegnare una rete legacy alla VM:
compute.networks.usesul progetto -
Per assegnare un indirizzo IP esterno alla VM quando utilizzi una rete legacy:
compute.networks.useExternalIpsul progetto -
Per impostare i metadati dell'istanza VM per la VM:
compute.instances.setMetadatasul progetto -
Per impostare i tag per la VM:
compute.instances.setTagssulla VM -
Per impostare le etichette per la VM:
compute.instances.setLabelssulla VM -
Per impostare un service account che la VM possa utilizzare:
compute.instances.setServiceAccountsulla VM -
Per creare un nuovo disco per la VM:
compute.disks.createsul progetto -
Per collegare un disco esistente in modalità di sola lettura o di lettura e scrittura:
compute.disks.usesul disco -
Per collegare un disco esistente in modalità di sola lettura:
compute.disks.useReadOnlysul disco
Potresti anche ottenere queste autorizzazioni con ruoli personalizzati o altri ruoli predefiniti.
Panoramica
La creazione collettiva di istanze HPC con il tipo di macchina H4D include i seguenti passaggi:
- (Facoltativo) Crea reti Virtual Private Cloud.
- (Facoltativo) Crea una policy di posizionamento se non crei le istanze di computing nello stesso blocco o sottoblocco.
- Crea istanze H4D in blocco.
(Facoltativo) Crea reti Virtual Private Cloud
Quando crei un'istanza di computing, puoi specificare una rete VPC e una subnet. Se ometti questa configurazione, vengono utilizzate la rete e la subnet predefinite.
- Se vuoi configurare le istanze H4D nel gruppo di istanze gestite per utilizzare Cloud RDMA, completa i passaggi descritti in questa sezione.
- Se non vuoi utilizzare Cloud RDMA, puoi saltare questa sezione e utilizzare la rete predefinita.
Per utilizzare Cloud RDMA con le istanze H4D, devi configurare almeno due reti, una per ogni tipo di interfaccia di rete (NIC):
- Tipo di NIC
GVNIC: utilizza il drivergveper il traffico TCP/IP e internet per la normale comunicazione VM-VM e VM-internet. - Tipo di NIC
IRDMA: utilizza i driver IDPF/iRDMA per il networking Cloud RDMA tra le istanze.
Le istanze che utilizzano Cloud RDMA possono avere una sola interfaccia
IRDMA. Puoi aggiungere fino a otto interfacce di reteGVNICaggiuntive per un totale di 10 vNIC per istanza.Per configurare le reti VPC Falcon da utilizzare con le tue istanze, puoi seguire le istruzioni documentate o utilizzare lo script fornito.
Guide con istruzioni
Per creare le reti, puoi utilizzare le seguenti istruzioni:
Per creare le reti host per le interfacce di rete
GVNIC, consulta Crea e gestisci le reti VPC.Se configuri una sola interfaccia di rete
GVNIC, puoi utilizzare la rete VPC predefinita e la subnet automatica che si trova nella stessa regione dell'istanza.Per creare una rete per l'interfaccia di rete
IRDMA, consulta Crea una rete VPC con un profilo di rete VPC Falcon. Utilizza il valore predefinito per l'unità massima di trasmissione (MTU) per una rete VPC Falcon, ovvero8896.
Script
Puoi creare fino a nove interfacce di rete gVNIC e una interfaccia di rete IRDMA per istanza. Ogni interfaccia di rete deve essere collegata a una rete separata. Per creare le reti, puoi utilizzare il seguente script, che crea due reti per gVNIC e una rete per IRDMA.
- (Facoltativo) Prima di eseguire lo script, elenca i profili di rete VPC di Falcon per
verificare che ne sia disponibile uno.
gcloud compute network-profiles list
Copia il seguente codice ed eseguilo in una finestra della shell Linux.
#!/bin/bash # Set the number of GVNIC interfaces to create. You can create up to 9. NUM_GVNIC=NUMBER_OF_GVNIC # Create regular VPC networks and subnets for the GVNIC interfaces for N in $(seq 0 $(($NUM_GVNIC - 1))); do gcloud compute networks create GVNIC_NAME_PREFIX-net-$N \ --subnet-mode=custom gcloud compute networks subnets create GVNIC_NAME_PREFIX-sub-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --region=REGION \ --range=10.$N.0.0/16 gcloud compute firewall-rules create GVNIC_NAME_PREFIX-internal-$N \ --network=GVNIC_NAME_PREFIX-net-$N \ --action=ALLOW \ --rules=tcp:0-65535,udp:0-65535,icmp \ --source-ranges=10.0.0.0/8 done # Create SSH firewall rules gcloud compute firewall-rules create GVNIC_NAME_PREFIX-ssh \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=tcp:22 \ --source-ranges=IP_RANGE # Optional: Create a firewall rule for the external IP address for the # first GVNIC network interface gcloud compute firewall-rules create GVNIC_NAME_PREFIX-allow-ping-net-0 \ --network=GVNIC_NAME_PREFIX-net-0 \ --action=ALLOW \ --rules=icmp \ --source-ranges=IP_RANGE # Create a Falcon VPC network for the Cloud RDMA network interface gcloud compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet in the Falcon VPC network gcloud compute networks subnets create RDMA_NAME_PREFIX-irdma-sub \ --network=RDMA_NAME_PREFIX-irdma \ --region=REGION \ --range=10.2.0.0/16 # offset to avoid overlap with GVNIC subnet rangesSostituisci quanto segue:
NUMBER_OF_GVNIC: il numero di interfacce gVNIC da creare. Specifica un numero compreso tra 1 e 9.GVNIC_NAME_PREFIX: il prefisso del nome da utilizzare per la rete VPC e la subnet regolari che utilizzano un tipo di NIC GVNIC.REGION: la regione in cui vuoi creare le reti. Deve corrispondere alla zona specificata per il flag--network-profiledurante la creazione della rete VPC Falcon. Ad esempio, se specifichi la zona comeeurope-west4-b, la regione èeurope-west4.IP_RANGE: l'intervallo di indirizzi IP al di fuori della rete VPC da utilizzare per le regole firewall SSH. Come best practice, specifica gli intervalli di indirizzi IP specifici da cui devi consentire l'accesso, anziché tutte le origini IPv4 o IPv6. Non utilizzare0.0.0.0/0o::/0come intervallo di origine perché ciò consente il traffico da tutte le origini IPv4 o IPv6, incluse quelle esterne a Google Cloud.RDMA_NAME_PREFIX: il prefisso del nome da utilizzare per la rete VPC e la subnet che utilizzano il tipo di NIC IRDMA.ZONE: la zona in cui vuoi creare le reti e le istanze di computing. Utilizzaus-central1-aoeurope-west4-b.
(Facoltativo) Per verificare che le risorse di rete VPC siano state create correttamente, controlla le impostazioni di rete nella console Google Cloud :
- Nella console Google Cloud , vai alla pagina Reti VPC.
- Cerca nell'elenco le reti che hai creato nel passaggio precedente.
- Per visualizzare le subnet, le regole firewall e altre impostazioni di rete, fai clic sul nome della rete.
(Facoltativo) Crea una policy di posizionamento
Puoi specificare il posizionamento delle VM creando una policy di posizionamento compatto. Quando applichi una policy di posizionamento compatto alle tue VM, Compute Engine tenta al meglio di creare VM il più vicine possibile tra loro. Se la tua applicazione è sensibile alla latenza e vuoi che le VM siano più vicine (massima compattezza), specifica il campo
Per creare una policy di posizionamento compatto, seleziona una delle seguenti opzioni:maxDistance(anteprima) quando crei una policy di posizionamento compatto. Un valoremaxDistanceinferiore garantisce un posizionamento più vicino delle VM, ma aumenta anche la probabilità che alcune VM non vengano create.gcloud
Per creare una policy di posizionamento compatto, utilizza il comando
gcloud beta compute resource-policies create group-placement:gcloud beta compute resource-policies create group-placement POLICY_NAME \ --collocation=collocated \ --max-distance=MAX_DISTANCE \ --region=REGIONSostituisci quanto segue:
POLICY_NAME: il nome della policy di posizionamento compatto.MAX_DISTANCE: la configurazione della distanza massima per le VM. Il valore deve essere3per posizionare le VM nei blocchi adiacenti o2per posizionare le VM nello stesso blocco. Per informazioni sul numero massimo di VM supportate per ognimaxDistanceper serie di macchine, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone disponibili.
REST
Per creare una policy di posizionamento compatto, invia una richiesta
POSTal metodoresourcePolicies.insertbeta. Nel corpo della richiesta, includi il campocollocationimpostato suCOLLOCATEDe il campomaxDistance.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "POLICY_NAME", "groupPlacementPolicy": { "collocation": "COLLOCATED", "maxDistance": MAX_DISTANCE } }Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoPOLICY_NAME: il nome della policy di posizionamento compatto.MAX_DISTANCE: la configurazione della distanza massima per le VM. Il valore deve essere3per posizionare le VM nei blocchi adiacenti o2per posizionare le VM nello stesso blocco. Per informazioni sul numero massimo di VM supportate per ognimaxDistanceper serie di macchine, consulta Informazioni sulle policy di posizionamento compatto nella documentazione di Compute Engine.REGION: la regione in cui vuoi creare la policy di posizionamento compatto. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone disponibili.
Crea istanze VM collettivamente
Le istruzioni in questa sezione descrivono come creare VM H4D in blocco.
Esamina le seguenti limitazioni prima di creare istanze H4D con Cloud RDMA:
- Non puoi utilizzare la migrazione live durante gli eventi di manutenzione dell'host con istanze che hanno un'interfaccia di rete Cloud RDMA. Devi configurare l'istanza in modo che venga terminata durante gli eventi di manutenzione.
- L'interfaccia di rete gVNIC può avere un solo indirizzo IPv6, interno o esterno, ma non entrambi.
Puoi utilizzare solo indirizzi IPv4 con interfacce di rete IRDMA e reti VPC Falcon.
gcloud
Per creare più VM contemporaneamente, utilizza il comando
gcloud compute instances create.I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Inizia con il seguente comando
gcloud compute instances create.gcloud compute instances bulk create \ --name-pattern=NAME_PATTERN \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image=project= IMAGE_PROJECT \ --instance-termination=action=DELETE \ --maintenance-policy=TERMINATE \ --region=REGION \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZECompleta i seguenti passaggi:
Sostituisci quanto segue:
NAME_PATTERN: il pattern del nome per le istanze. Ad esempio, l'utilizzo divm-#per il pattern del nome genera istanze con nomi comevm-1evm-2, fino al numero specificato dal flag--count.COUNT: il numero di istanze da creare.MACHINE_TYPE: il tipo di macchina da utilizzare per le istanze. Utilizza uno dei tipi di macchine H4D, ad esempioh4d-highmem-192-lssd.IMAGE_FAMILY: la famiglia di immagini dell'immagine sistema operativo che vuoi utilizzare, ad esempiorocky-linux-9-optimized-gcp.Per un elenco delle immagini del sistema operativo supportate, vedi Sistema operativo supportato. Scegli una versione dell'immagine del sistema operativo che supporti l'interfaccia IRDMA.
IMAGE_PROJECT: l'ID progetto per l'immagine sistema operativo, ad esempiorocky-linux-cloud.REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare, ad esempioeurope-west4. Per informazioni sulle regioni disponibili, vedi Regioni e zone disponibili.DISK_SIZE: (Facoltativo) le dimensioni del disco di avvio in GiB. Il valore deve essere un numero intero.
(Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, includi il flag
--resource-policies:--resource-policies=POLICY_NAMESostituisci POLICY_NAME con il nome della policy di posizionamento compatto.
Per specificare la prenotazione, esegui una delle seguenti operazioni:
-
Se utilizzi una policy di posizionamento o se le VM possono essere posizionate ovunque nel blocco di prenotazione, aggiungi i seguenti flag al comando:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=RESERVATION_NAME \Sostituisci RESERVATION_NAME con il nome della prenotazione, ad esempio
h4d-highmem-exfr-prod. -
Se non utilizzi una policy di posizionamento compatto e vuoi che le istanze vengano posizionate in un blocco specifico, aggiungi i seguenti flag al comando:
--provisioning-model=RESERVATION_BOUND \ --reservation-affinity=specific \ --reservation=<RESERVATION_BLOCK_NAME \Sostituisci RESERVATION_BLOCK_NAME con il nome di un blocco nella prenotazione, ad esempio
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Per visualizzare il nome della prenotazione o i blocchi di prenotazione disponibili, consulta Visualizzare la capacità.
-
-
(Facoltativo) Per configurare le istanze in modo che utilizzino Cloud RDMA, aggiungi al comando i flag simili a quelli riportati di seguito. Questo esempio configura due interfacce di rete gVNIC e un'interfaccia di rete IRDMA:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Sostituisci quanto segue:
GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia gVNIC.Per la prima interfaccia di rete GVNIC, puoi omettere i flag
networkesubnetper utilizzare la retedefault.STACK_TYPE: (Facoltativo) il tipo di stack per l'interfaccia di rete gVNIC.STACK_TYPEdeve essereIPV4_ONLYoIPV4_IPV6. Il valore predefinito èIPV4_ONLY.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete. Devi aver prenotato un indirizzo IPv4 esterno in precedenza. Esegui una delle seguenti operazioni:- Specifica un indirizzo IPv4 valido dalla subnet.
- Utilizza il flag
no-addressse non vuoi che l'interfaccia di rete abbia un indirizzo IP esterno. - Specifica
address=''se vuoi che l'interfaccia riceva un indirizzo IP esterno temporaneo.
Per specificare un indirizzo IPv6 esterno, utilizza invece il flag
--external-ipv6-address.RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia IRDMA.
- (Facoltativo) Aggiungi flag aggiuntivi per personalizzare le altre proprietà dell'istanza, se necessario.
- Esegui il comando.
Spot
Inizia con il seguente comando
gcloud compute instances create.gcloud compute instances bulk create \ --name-pattern=NAME_PATTERN \ --count=COUNT \ --machine-type=MACHINE_TYPE \ --image-family=IMAGE_FAMILY \ --image=project= IMAGE_PROJECT \ --region=REGION \ --boot-disk-type=hyperdisk-balanced \ --boot-disk-size=DISK_SIZE \ --provisioning-model=SPOT \ --instance-termination=action=TERMINATION_ACTIONCompleta i seguenti passaggi:
Sostituisci quanto segue:
NAME_PATTERN: il pattern del nome per le istanze. Ad esempio, l'utilizzo divm-#per il pattern del nome genera istanze con nomi comevm-1evm-2, fino al numero specificato dal flag--count.COUNT: il numero di istanze da creare.MACHINE_TYPE: il tipo di macchina da utilizzare per le istanze. Utilizza uno dei tipi di macchine H4D, ad esempioh4d-highmem-192-lssd.IMAGE_FAMILY: la famiglia di immagini dell'immagine sistema operativo che vuoi utilizzare, ad esempiorocky-linux-9-optimized-gcp.Per un elenco delle immagini del sistema operativo supportate, vedi Sistema operativo supportato. Scegli una versione dell'immagine del sistema operativo che supporti l'interfaccia IRDMA.
IMAGE_PROJECT: l'ID progetto per l'immagine sistema operativo, ad esempiorocky-linux-cloud.REGION: specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare, ad esempioeurope-west4. Per informazioni sulle regioni disponibili, vedi Regioni e zone disponibili.DISK_SIZE: (Facoltativo) le dimensioni del disco di avvio in GiB. Il valore deve essere un numero intero.TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovveroSTOP(impostazione predefinita) oDELETE.
-
(Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, aggiungi il seguente flag al comando:
--resource-policies=POLICY_NAME \Sostituisci
POLICY_NAMEcon il nome della policy di posizionamento compatto. -
(Facoltativo) Per configurare le istanze in modo che utilizzino Cloud RDMA, aggiungi al comando i flag simili a quelli riportati di seguito. Questo esempio configura due interfacce di rete gVNIC e un'interfaccia di rete IRDMA:
--network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-0, \ subnet=GVNIC_NAME_PREFIX-sub-0, \ stack-type=STACK_TYPE, \ address=EXTERNAL_IPV4_ADDRESS \ --network-interface=nic-type=GVNIC, \ network=GVNIC_NAME_PREFIX-net-1, \ subnet=GVNIC_NAME_PREFIX-sub-1, no-address \ --network-interface=nic-type=IRDMA, \ network=RDMA_NAME_PREFIX-irdma, \ subnet=RDMA_NAME_PREFIX-irdma-sub, \ stack-type=IPV4_ONLY, no-address \Sostituisci quanto segue:
GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia gVNIC.Per la prima interfaccia di rete GVNIC, puoi omettere i flag
networkesubnetper utilizzare la retedefault.STACK_TYPE: (Facoltativo) il tipo di stack per l'interfaccia di rete gVNIC.STACK_TYPEdeve essereIPV4_ONLYoIPV4_IPV6. Il valore predefinito èIPV4_ONLY.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete. Devi aver prenotato un indirizzo IPv4 esterno in precedenza. Esegui una delle seguenti operazioni:- Specifica un indirizzo IPv4 valido dalla subnet.
- Utilizza il flag
no-addressse non vuoi che l'interfaccia di rete abbia un indirizzo IP esterno. - Specifica
address=''se vuoi che l'interfaccia riceva un indirizzo IP esterno temporaneo.
Per specificare un indirizzo IPv6 esterno, utilizza invece il flag
--external-ipv6-address.RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia IRDMA.
- (Facoltativo) Aggiungi flag aggiuntivi per personalizzare le altre proprietà dell'istanza, se necessario.
- Esegui il comando.
REST
Per creare istanze VM in blocco, invia una richiesta
POSTal metodoinstances.bulkInsert.I parametri da specificare dipendono dall'opzione di consumo che utilizzi per questo deployment. Seleziona la scheda corrispondente al modello di provisioning dell'opzione di consumo.
Con prenotazione
Inizia con la seguente richiesta
POSTal metodoinstances.bulkInsert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "namePattern":"NAME_PATTERN", "count":"COUNT", "instanceProperties":{ "machineType":"MACHINE_TYPE", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "scheduling":{ "provisioningModel":"RESERVATION_BOUND", "instanceTerminationAction":"DELETE", "onHostMaintenance": "TERMINATE", "automaticRestart":true } } }Completa i seguenti passaggi:
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto in cui vuoi creare le istanze.ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se utilizzi una policy di posizionamento compatto, utilizza una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni in cui sono disponibili i tipi di macchine H4D, consulta Regioni e zone disponibili.NAME_PATTERN: il pattern del nome per le istanze. Ad esempio, l'utilizzo divm-#per il pattern del nome genera istanze con nomi comevm-1evm-2, fino al numero specificato dal campocount.COUNT: il numero di istanze da creare.MACHINE_TYPE: il tipo di macchina da utilizzare per le istanze. Utilizza uno dei tipi di macchine H4D, ad esempioh4d-highmem-192-lssd.DISK_SIZE: le dimensioni del disco di avvio in GiB.IMAGE_PROJECT: l'ID progetto per l'immagine sistema operativo, ad esempiodebian-cloud.IMAGE_FAMILY: la famiglia di immagini dell'immagine sistema operativo che vuoi utilizzare, ad esempiorocky-linux-9-optimized-gcp. Per un elenco delle immagini del sistema operativo supportate, vedi Sistema operativo supportato. Scegli una versione dell'immagine del sistema operativo che supporti l'interfaccia IRDMA.
(Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, includi il parametro
resourcePoliciesnel corpo della richiesta come parte del parametro"instanceProperties"."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ],Sostituisci POLICY_NAME con il nome della policy di posizionamento compatto.
-
Per specificare la prenotazione, esegui una delle seguenti operazioni:
-
Se utilizzi una policy di posizionamento o se le VM possono essere posizionate ovunque nel blocco di prenotazione, aggiungi quanto segue al corpo della richiesta come parte del parametro
"instanceProperties":"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_NAME" ], },Sostituisci RESERVATION_NAME con il nome della prenotazione, ad esempio
h4d-highmem-exfr-prod. -
Se non utilizzi una policy di posizionamento compatto o vuoi che le istanze vengano posizionate in un blocco specifico, aggiungi quanto segue al corpo della richiesta come parte del parametro
"instanceProperties":"reservationAffinity":{ "consumeReservationType":"SPECIFIC_RESERVATION", "key":"compute.googleapis.com/reservation-name", "values":[ "RESERVATION_BLOCK_NAME" ], },Sostituisci RESERVATION_BLOCK_NAME con il nome di un blocco nella prenotazione, ad esempio
h4d-highmem-exfr-prod/reservationBlocks/h4d-highmem-exfr-prod-block-1.
Per visualizzare il nome della prenotazione o i blocchi di prenotazione disponibili, consulta Visualizzare la capacità.
-
Se vuoi configurare le istanze in modo che utilizzino Cloud RDMA, includi un blocco di parametri simile al seguente nel corpo della richiesta come parte del parametro
"instanceProperties". Questo esempio configura due interfacce di rete gVNIC e un'interfaccia di rete IRDMA:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Sostituisci quanto segue:
GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia gVNIC.Per l'interfaccia di rete gVNIC, puoi omettere i campi
networkesubnetworkper utilizzare la retedefault.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia IRDMA.
- (Facoltativo) Personalizza le altre proprietà dell'istanza, se necessario.
- Invia la richiesta.
Spot
Inizia con la seguente richiesta
POSTal metodoinstances.bulkInsert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instances/bulkInsert { "namePattern":"NAME_PATTERN", "count":"COUNT", "instanceProperties":{ "machineType":"MACHINE_TYPE", "disks":[ { "boot":true, "initializeParams":{ "diskSizeGb":"DISK_SIZE", "diskType":"hyperdisk-balanced", "sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY" }, "mode":"READ_WRITE", "type":"PERSISTENT" } ], "scheduling":{ "provisioningModel":"SPOT", "instanceTerminationAction":"TERMINATION_ACTION" } } }Completa i seguenti passaggi:
Sostituisci quanto segue:
PROJECT_ID: l'ID progetto del progetto in cui vuoi creare le istanze.ZONE: specifica una zona in cui è disponibile il tipo di macchina che vuoi utilizzare. Se utilizzi una policy di posizionamento compatto, utilizza una zona nella stessa regione della policy di posizionamento compatto. Per informazioni sulle regioni in cui sono disponibili i tipi di macchine H4D, consulta Regioni e zone disponibili.NAME_PATTERN: il pattern del nome per le istanze. Ad esempio, l'utilizzo divm-#per il pattern del nome genera istanze con nomi comevm-1evm-2, fino al numero specificato dal campocount.COUNT: il numero di istanze da creare.MACHINE_TYPE: il tipo di macchina da utilizzare per le istanze. Utilizza uno dei tipi di macchine H4D, ad esempioh4d-highmem-192-lssd.DISK_SIZE: le dimensioni del disco di avvio in GiB.IMAGE_PROJECT: l'ID progetto per l'immagine sistema operativo, ad esempiodebian-cloud.IMAGE_FAMILY: la famiglia di immagini dell'immagine sistema operativo che vuoi utilizzare, ad esempiorocky-linux-9-optimized-gcp. Per un elenco delle immagini del sistema operativo supportate, vedi Sistema operativo supportato. Scegli una versione dell'immagine del sistema operativo che supporti l'interfaccia IRDMA.TERMINATION_ACTION: l'azione da intraprendere quando Compute Engine prerilascia l'istanza, ovveroSTOP(impostazione predefinita) oDELETE.
(Facoltativo) Se hai scelto di utilizzare una policy di posizionamento compatto, includi il parametro
resourcePoliciescome parte del parametro"instanceProperties"."resourcePolicies": [ "projects/PROJECT_ID/regions/REGION/resourcePolicies/POLICY_NAME" ]Se vuoi configurare le istanze in modo che utilizzino Cloud RDMA, includi un blocco di parametri simile al seguente nel corpo della richiesta come parte del parametro
"instanceProperties". Questo esempio configura due interfacce di rete gVNIC e un'interfaccia di rete IRDMA:"networkInterfaces": [ { "network": "GVNIC_NAME_PREFIX-net-0", "subnetwork": "GVNIC_NAME_PREFIX-sub-0", "accessConfigs": [ { "type": "ONE_TO_ONE_NAT", "name": "External IP", "natIP": "EXTERNAL_IPV4_ADDRESS" } ], "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "GVNIC_NAME_PREFIX-net-1", "subnetwork": "GVNIC_NAME_PREFIX-sub-1", "stackType": "IPV4_ONLY", "nicType": "GVNIC", }, { "network": "RDMA_NAME_PREFIX-irdma", "subnetwork": "RDMA_NAME_PREFIX-irdma-sub", "stackType": "IPV4_ONLY", "nicType": "IRDMA", } ],Sostituisci quanto segue:
GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia gVNIC.Per l'interfaccia di rete gVNIC, puoi omettere i campi
networkesubnetworkper utilizzare la retedefault.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.RDMA_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione della rete VPC e della subnet per l'interfaccia IRDMA.
- (Facoltativo) Personalizza le altre proprietà dell'istanza, se necessario.
- Invia la richiesta.
Passaggi successivi
- Visualizza la topologia del cluster H4D.
- Connettiti alle VM Linux.
- Configura e scala le applicazioni MPI sulle VM H4D con Cloud RDMA.
Salvo quando diversamente specificato, i contenuti di questa pagina sono concessi in base alla licenza Creative Commons Attribution 4.0, mentre gli esempi di codice sono concessi in base alla licenza Apache 2.0. Per ulteriori dettagli, consulta le norme del sito di Google Developers. Java è un marchio registrato di Oracle e/o delle sue consociate.
Ultimo aggiornamento 2025-12-04 UTC.
[[["Facile da capire","easyToUnderstand","thumb-up"],["Il problema è stato risolto","solvedMyProblem","thumb-up"],["Altra","otherUp","thumb-up"]],[["Difficile da capire","hardToUnderstand","thumb-down"],["Informazioni o codice di esempio errati","incorrectInformationOrSampleCode","thumb-down"],["Mancano le informazioni o gli esempi di cui ho bisogno","missingTheInformationSamplesINeed","thumb-down"],["Problema di traduzione","translationIssue","thumb-down"],["Altra","otherDown","thumb-down"]],["Ultimo aggiornamento 2025-12-04 UTC."],[],[]] -