Questo tutorial mostra come creare un gruppo di istanze gestite (MIG) che utilizza un tipo di macchina H4D. Il MIG utilizza il modello di provisioning con prenotazione per ottenere risorse di calcolo.
La creazione di un MIG ti consente di gestire più macchine virtuali (VM) come singola entità. Ogni VM in un MIG si basa su un template di istanza. Gestendo automaticamente le VM nel gruppo, i MIG offrono alta affidabilità e scalabilità. Per scoprire di più sui MIG, consulta Gruppi di istanze gestite.
Per scoprire di più sulle opzioni di creazione di VM HPC e cluster HPC, consulta Panoramica della creazione di cluster HPC.
Questo tutorial è rivolto a ingegneri HPC, amministratori e operatori di piattaforme e specialisti di dati e MPI interessati a creare un gruppo di istanze HPC interconnesse per eseguire i propri workload. Le istanze risultanti non utilizzano un orchestratore per la gestione delle istanze o la pianificazione dei job.
Se vuoi creare un gruppo di istanze gestite, ma non devi creare un deployment denso di istanze, consulta invece Scenari di base per la creazione di gruppi di istanze gestite (MIG).
Obiettivi
- Prenota blocchi di capacità per le istanze VM.
- (Facoltativo) Crea reti Virtual Private Cloud (VPC).
- (Facoltativo) Crea una policy del workload.
- Crea un template di istanza.
- Crea un MIG utilizzando uno dei seguenti metodi:
- Crea un MIG con una dimensione target.
- Crea un gruppo di istanze gestite e una richiesta di ridimensionamento.
- Eseguire la pulizia delle risorse che hai creato.
Costi
In questo documento vengono utilizzati i seguenti componenti fatturabili di Google Cloud:
Per generare una stima dei costi in base all'utilizzo previsto,
utilizza il calcolatore prezzi.
Al termine delle attività descritte in questo documento, puoi evitare l'addebito di ulteriori costi eliminando le risorse che hai creato. Per saperne di più, consulta Esegui la pulizia.
Prima di iniziare
- Accedi al tuo account Google Cloud . Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti senza costi per l'esecuzione, il test e il deployment dei workload.
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita l'API richiesta:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable compute.googleapis.com
-
Installa Google Cloud CLI.
-
Se utilizzi un provider di identità (IdP) esterno, devi prima accedere a gcloud CLI con la tua identità federata.
-
Per inizializzare gcloud CLI, esegui questo comando:
gcloud init -
Crea o seleziona un Google Cloud progetto.
Ruoli richiesti per selezionare o creare un progetto
- Seleziona un progetto: la selezione di un progetto non richiede un ruolo IAM specifico. Puoi selezionare qualsiasi progetto per il quale ti è stato concesso un ruolo.
-
Crea un progetto: per creare un progetto, devi disporre del ruolo Autore progetto
(
roles/resourcemanager.projectCreator), che contiene l'autorizzazioneresourcemanager.projects.create. Scopri come concedere i ruoli.
-
Creare un progetto Google Cloud :
gcloud projects create PROJECT_ID
Sostituisci
PROJECT_IDcon un nome per il progetto Google Cloud che stai creando. -
Seleziona il progetto Google Cloud che hai creato:
gcloud config set project PROJECT_ID
Sostituisci
PROJECT_IDcon il nome del progetto Google Cloud .
-
Verifica che la fatturazione sia abilitata per il tuo progetto Google Cloud .
Abilita l'API richiesta:
Ruoli richiesti per abilitare le API
Per abilitare le API, devi disporre del ruolo IAM Amministratore utilizzo dei servizi (
roles/serviceusage.serviceUsageAdmin), che include l'autorizzazioneserviceusage.services.enable. Scopri come concedere i ruoli.gcloud services enable compute.googleapis.com
-
Concedi ruoli al tuo account utente. Esegui il seguente comando una volta per ciascuno dei seguenti ruoli IAM:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmingcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progetto.USER_IDENTIFIER: l'identificatore del tuo account utente . Ad esempio:myemail@example.com.ROLE: il ruolo IAM che concedi al tuo account utente.
Prenota la capacità
Per utilizzare i comandi di questo tutorial, devi prenotare la capacità per creare le istanze nel MIG.
Crea una prenotazione futura per blocchi di capacità
Questa azione ti consente di prenotare blocchi di capacità per una durata definita, a partire da una data e un'ora specifiche che scegli. La prenotazione riserva blocchi o sottoblocchi di capacità in un cluster, il che consente deployment densi di istanze VM.
Per creare una prenotazione futura per un deployment denso, la procedura è la seguente:
Segui la procedura per riservare la capacità contattando il team dedicato all'account nella documentazione di AI Hypercomputer. Nella richiesta di prenotazione futura, fornisci le informazioni come documentato, con le seguenti eccezioni:
- Tipo di macchina: specifica il tipo di macchina H4D
h4d-highmem-192-lssd. - Zona: specifica una delle zone in cui sono disponibili le istanze H4D, come documentato nella tabella Regioni e zone disponibili. Per visualizzare le zone disponibili solo per H4D, seleziona
H4Dnell'elenco Seleziona una serie di macchine. - Tipo di pianificazione della manutenzione: per le istanze H4D, puoi specificare
GROUPEDoINDEPENDENT. - Modalità operativa di prenotazione: per le istanze H4D, specifica il valore
HIGHLY_AVAILABLE_CAPACITY.
- Tipo di macchina: specifica il tipo di macchina H4D
La quota viene aumentata automaticamente prima che venga fornita la capacità. Non è necessario alcun intervento da parte tua.
Quando crei il template di istanza, specifica il modello di provisioning con prenotazione. Le istanze VM nel MIG vengono sottoposte a provisioning dalla capacità riservata.
Ti viene addebitato l'intero periodo di prenotazione, indipendentemente dal fatto che tu utilizzi o meno le risorse prenotate per l'intero periodo. Per saperne di più, vedi Fatturazione delle prenotazioni.
Creare una prenotazione futura in modalità calendario
Se devi utilizzare la capacità riservata per meno di 90 giorni, puoi creare una prenotazione futura in modalità calendario utilizzando Dynamic Workload Scheduler. Per ottenere risorse di prenotazione future, la procedura è la seguente:
- Cerca la capacità disponibile e prenota le risorse utilizzando la console Google Cloud , gcloud CLI o l'API Compute Engine.
- Non viene addebitata alcuna quota e non è richiesta alcuna azione da parte tua.
- Quando crei il template di istanza, specifica il modello di provisioning con prenotazione. Le istanze VM nel MIG vengono sottoposte a provisioning dalla capacità riservata.
Ti viene addebitato l'intero periodo di prenotazione, indipendentemente dal fatto che tu utilizzi o meno le risorse prenotate per l'intero periodo. Per ulteriori informazioni, consulta i prezzi di Dynamic Workload Scheduler.
(Facoltativo) Crea reti VPC
A meno che tu non scelga di disattivarla, ogni progetto ha una rete predefinita, che può essere utilizzata per fornire connettività di rete alle tue istanze. Quando crei una VM, puoi specificare una subnet e una rete VPC. Se ometti questa configurazione, vengono utilizzate la rete e la subnet predefinite.
Le istanze H4D possono essere configurate per utilizzare Cloud RDMA. Cloud RDMA consente funzionalità di messaggistica affidabili a bassa latenza utilizzando un driver di rete IRDMA che supporta l'accesso diretto alla memoria remota (RDMA) tra le istanze di Compute Engine.
Per questo tutorial:
- Se vuoi configurare le istanze H4D 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 rete GVNIC aggiuntive per un totale di 10 vNIC
per istanza.
Per configurare le reti VPC Falcon da utilizzare con le 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 stai configurando 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 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. Questo valore 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 utilizza 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 della 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 del workload
Se vuoi che Compute Engine posizioni le istanze VM in un singolo blocco o in blocchi adiacenti, specifica il posizionamento delle istanze creando una policy del workload. Tuttavia, se vuoi che Compute Engine posizioni le tue istanze su un blocco specifico, salta questo passaggio e fornisci il nome del blocco nell'affinità di prenotazione quando crei il template di istanza.
Per creare una policy del workload, seleziona una delle seguenti opzioni:
gcloud
Per creare una policy del carico di lavoro, utilizza il
comando gcloud compute resource-policies create workload-policy.
-
Per un posizionamento delle VM secondo il criterio del "best effort", specifica il flag
--type=high-throughputnel comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION -
Per la rigorosa collocazione delle VM, specifica i flag
--max-topology-distancee--type=high-throughputnel comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
Sostituisci quanto segue:
WORKLOAD_POLICY_NAME: il nome della policy del workload.TOPOLOGY_DISTANCE: la distanza topologia massima. Specifica uno dei seguenti valori:- Per posizionare le VM nello stesso blocco secondario:
SUBBLOCK - Per posizionare le VM nello stesso blocco:
BLOCK - Per posizionare le VM nello stesso cluster:
CLUSTER
Nota: una distanza massima più breve può ridurre la probabilità di disponibilità della VM. Per saperne di più, consulta Proprietà Distanza topologia massima.- Per posizionare le VM nello stesso blocco secondario:
REGION: la regione in cui vuoi creare la policy del workload. Specifica una regione in cui vuoi creare il MIG e il tipo di macchina che vuoi utilizzare è disponibile. Per informazioni su regioni e zone, vedi Regioni e zone disponibili.
REST
Per creare una policy del workload, invia una richiesta POST
al metodo resourcePolicies.insert.
-
Per un posizionamento delle VM con il massimo impegno, specifica il campo
typenella richiesta nel seguente modo:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT" } } -
Per la collocazione rigorosa delle VM, specifica i campi
maxTopologyDistanceetypenella richiesta nel seguente modo:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/resourcePolicies { "name": "WORKLOAD_POLICY_NAME" "workloadPolicy": { "type": "HIGH_THROUGHPUT", "maxTopologyDistance": "TOPOLOGY_DISTANCE" } }
Sostituisci quanto segue:
PROJECT_ID: il tuo ID progettoREGION: la regione in cui vuoi creare la policy del workload. Specifica una regione in cui vuoi creare il MIG e il tipo di macchina che vuoi utilizzare è disponibile. Per informazioni su regioni e zone, vedi Regioni e zone disponibili.WORKLOAD_POLICY_NAME: il nome della policy del workload.TOPOLOGY_DISTANCE: la distanza topologia massima. Specifica uno dei seguenti valori:- Per posizionare le VM nello stesso blocco secondario:
SUBBLOCK - Per posizionare le VM nello stesso blocco:
BLOCK - Per inserire le VM nello stesso
cluster:
CLUSTER
Nota: una distanza massima più breve può ridurre la probabilità di disponibilità della VM. Per saperne di più, consulta Proprietà Distanza topologia massima.- Per posizionare le VM nello stesso blocco secondario:
Crea un template di istanza
Per specificare le proprietà di istanza e consumo per ogni istanza nel MIG, crea un template di istanza utilizzando uno dei seguenti metodi:
gcloud
Per creare un template di istanza regionale, utilizza il
comando gcloud compute instance-templates create.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \
--machine-type=MACHINE_TYPE \
--image-family=IMAGE_FAMILY \
--image-project=IMAGE_PROJECT \
--instance-template-region=REGION \
--boot-disk-type=hyperdisk-balanced \
--boot-disk-size=DISK_SIZE \
--scopes=cloud-platform \
--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 \
--reservation-affinity=specific \
--reservation=RESERVATION \
--provisioning-model=RESERVATION_BOUND \
--instance-termination-action=DELETE \
--maintenance-policy=TERMINATE
Sostituisci quanto segue:
INSTANCE_TEMPLATE_NAME: il nome del template di istanza.MACHINE_TYPE: il tipo di macchina H4D da utilizzare per l'istanza.IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare.DISK_SIZE: le dimensioni del disco di avvio in GiB.GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.Se utilizzi la rete predefinita, includi un solo campo
--network-interfacecon il camponic-typeimpostato suGVNIC. Inoltre, ometti le impostazioninetworkesubnetworkper questa interfaccia di rete.STACK_TYPE: (Facoltativo) il tipo di stack da utilizzare per l'interfaccia gVNIC. SpecificaIPV4_ONLYoIPV4_IPV6. Se non specifichi un valore, viene utilizzatoIPV4_ONLYper impostazione predefinita.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. 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 di rete riceva un indirizzo IP esterno temporaneo.
Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza 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 di rete IRDMA.Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo
--network-interfaceper l'interfaccia IRDMA.-
RESERVATION: il nome della prenotazione che vuoi utilizzare.RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:Per creare istanze in più blocchi o in un singolo blocco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Inoltre, per un singolo blocco, crea il MIG applicando una policy del workload che specifica una collocazione di blocchi (
maxTopologyDistance=BLOCK) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.Per creare istanze su un blocco specifico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
REST
Per creare un template di istanza regionale, effettua una richiesta POST al
metodo regionInstanceTemplates.insert.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceTemplates
{
"name":"INSTANCE_TEMPLATE_NAME",
"properties":{
"disks":[
{
"boot":true,
"initializeParams":{
"diskSizeGb":"DISK_SIZE",
"diskType":"hyperdisk-balanced",
"sourceImage":"projects/IMAGE_PROJECT/global/images/family/IMAGE_FAMILY"
},
"mode":"READ_WRITE",
"type":"PERSISTENT"
}
],
"machineType":"MACHINE_TYPE",
"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",
}
],
,
"reservationAffinity":{
"consumeReservationType":"SPECIFIC_RESERVATION",
"key":"compute.googleapis.com/reservation-name",
"values":[
"RESERVATION"
]
},
"scheduling":{
"provisioningModel":"RESERVATION_BOUND",
"instanceTerminationAction":"DELETE",
"onHostMaintenance": "TERMINATE",
"automaticRestart":true
}
}
}
Sostituisci quanto segue:
INSTANCE_TEMPLATE_NAME: il nome del template di istanza.MACHINE_TYPE: il tipo di macchina da utilizzare per l'istanza. Specifica un tipo di macchina H4D. Per saperne di più, consulta Tipi di macchine H4D.IMAGE_FAMILY: la famiglia di immagini dell'immagine del sistema operativo che vuoi utilizzare. Per un elenco dei sistemi operativi supportati, consulta Sistemi operativi supportati.IMAGE_PROJECT: l'ID progetto dell'immagine del sistema operativo.REGION: la regione in cui vuoi creare il template di istanza. Specifica una regione in cui è disponibile il tipo di macchina che vuoi utilizzare. Per informazioni sulle regioni, vedi Regioni e zone.DISK_SIZE: le dimensioni del disco di avvio in GiB.GVNIC_NAME_PREFIX: il prefisso del nome che hai utilizzato durante la creazione delle reti VPC e delle subnet standard per le interfacce gVNIC.Se utilizzi la rete predefinita, includi un solo campo
--network-interfacecon il camponic-typeimpostato suGVNIC. Inoltre, ometti le impostazioninetworkesubnetworkper questa interfaccia di rete.EXTERNAL_IPV4_ADDRESS: (Facoltativo) un indirizzo IPv4 esterno statico da utilizzare con l'interfaccia di rete gVNIC. Devi aver prenotato un indirizzo IPv4 esterno in precedenza.Per specificare un indirizzo IPv6 esterno per l'interfaccia di rete gVNIC, utilizza 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 di rete IRDMA.Se non utilizzi Cloud RDMA con le tue istanze H4D, ometti il campo
--network-interfaceper l'interfaccia IRDMA.-
RESERVATION: il nome della prenotazione che vuoi utilizzare.RESERVATION: il nome della prenotazione o un blocco specifico all'interno di una prenotazione. Per ottenere il nome della prenotazione o i blocchi disponibili, vedi Visualizzare la capacità riservata. In base al tuo requisito per il posizionamento dell'istanza, scegli una delle seguenti opzioni:Per creare istanze in più blocchi o in un singolo blocco:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME
Inoltre, per un singolo blocco, crea il MIG applicando una policy del workload che specifica una collocazione di blocchi (
maxTopologyDistance=BLOCK) . Compute Engine applica quindi la policy alla prenotazione e crea istanze sullo stesso blocco.Per creare istanze su un blocco specifico:
projects/RESERVATION_OWNER_PROJECT_ID/reservations/RESERVATION_NAME/reservationBlocks/RESERVATION_BLOCK_NAME
Dopo aver creato il modello di istanza, puoi visualizzare il modello per vedere il suo ID e rivedere le proprietà dell'istanza.
Crea un MIG
A seconda dei requisiti del tuo workload, puoi creare un MIG in una delle seguenti configurazioni:
- Se hai più job paralleli che possono essere avviati con un numero qualsiasi di VM, crea il MIG con una dimensione target.
- Se hai bisogno di più VM contemporaneamente per avviare un job o se hai un job che richiede la distribuzione su un numero esatto di istanze VM, crea un MIG e poi crea una richiesta di ridimensionamento nel MIG.
Crea un MIG con una dimensione target
Se puoi avviare il job senza creare tutte le istanze VM contemporaneamente, crea un MIG con una dimensione target. La dimensione target determina il numero di istanze nel MIG. Il MIG inizia a creare istanze in base alla disponibilità delle risorse. Se una risorsa non è temporaneamente disponibile, il MIG tenta continuamente di creare istanze per raggiungere la dimensione target.
Per creare un MIG con una dimensione target, seleziona una delle seguenti opzioni:
gcloud
Per creare un MIG con una dimensione target specificata, utilizza il
comando instance-groups managed
create.
In questo passaggio, i comandi per creare un MIG utilizzano una policy del carico di lavoro per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il flag --workload-policy.
Crea un gruppo di istanze gestite a livello di zona o di regione nel seguente modo:
- Per creare un gruppo di istanze gestite a livello di zona, utilizza il seguente comando:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE
- Per creare un gruppo di istanze gestite a livello di regione, utilizza il seguente comando:
gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=TARGET_SIZE \ --workload-policy=WORKLOAD_POLICY_URL \ --region=REGION
MIG_NAME: il nome del MIG.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
TARGET_SIZE: il numero di VM che vuoi nel MIG.WORKLOAD_POLICY_URL: (facoltativo) l'URL del criterio del workload. Se non vuoi utilizzare una policy del workload, puoi rimuovere il flag--workload-policy.ZONE: la zona in cui vuoi creare il MIG. Se utilizzi una policy del workload, specifica una zona all'interno della regione della policy.REGION: la regione in cui vuoi creare il MIG. Se utilizzi una policy di workload, specifica la stessa regione della policy. Per un MIG a livello di regione, anziché una regione, puoi specificare le zone in quella regione utilizzando il flag--zones.
REST
Per creare un MIG con una dimensione target specificata, invia una richiesta POST come segue.
In questo passaggio, le richieste per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una norma del workload, rimuovi il campo resourcePolicies.workloadPolicy dal corpo della richiesta.
Crea un gruppo di istanze gestite a livello di zona o di regione nel seguente modo:
- Per creare un gruppo di istanze gestite a livello di zona, invia una richiesta
POSTal metodoinstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Per creare un MIG a livello di regione, invia una richiesta
POSTal metodoregionInstanceGroupManagers.insert.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "instanceTemplate": "INSTANCE_TEMPLATE_URL", "targetSize": "TARGET_SIZE", "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } }
PROJECT_ID: l'ID progettoZONE: la zona in cui vuoi creare il MIG. Se utilizzi una policy del workload, specifica una zona all'interno della regione della policy.REGION: la regione in cui vuoi creare un MIG. Se utilizzi una policy di workload, specifica la stessa regione della policy.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
MIG_NAME: il nome del MIG.TARGET_SIZE: il numero di VM che vuoi nel MIG.WORKLOAD_POLICY_URL: (Facoltativo) l'URL del criterio del workload. Se non vuoi utilizzare una policy del workload, puoi rimuovere il camporesourcePolicies.workloadPolicy.
Crea un gruppo di istanze gestite e una richiesta di ridimensionamento
Per creare tutte le istanze richieste contemporaneamente, crea un MIG senza istanze. Dopo aver creato il MIG vuoto, crea una richiesta di ridimensionamento nel MIG. Quando le risorse sono disponibili per creare tutte le istanze contemporaneamente, la richiesta di ridimensionamento aggiunge le istanze al MIG.
Per creare un gruppo di istanze gestite e una richiesta di ridimensionamento, seleziona una delle seguenti opzioni:
gcloud
In questo passaggio, i comandi per creare un MIG utilizzano una policy del carico di lavoro per specificare il posizionamento delle VM. Se non vuoi utilizzare una policy del workload, rimuovi il flag --workload-policy.
Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:
-
Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno:
-
Crea un gruppo di istanze gestite a livello di zona utilizzando il comando
instance-groups managed createcome segue.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zone=ZONE -
Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona utilizzando il comando
instance-groups managed resize-requests createcome segue:gcloud compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --zone=ZONE
-
-
Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno:
-
Crea un gruppo di istanze gestite a livello di regione utilizzando il comando
instance-groups managed createcome segue.gcloud compute instance-groups managed create MIG_NAME \ --template=INSTANCE_TEMPLATE_URL \ --size=0 \ --workload-policy=WORKLOAD_POLICY_URL \ --zones=ZONE \ --target-distribution-shape=any-single-zone \ --instance-redistribution-type=none -
Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione utilizzando il comando beta
instance-groups managed resize-requests createcome segue:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --region=REGION
-
Sostituisci quanto segue:
MIG_NAME: il nome del MIG.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
WORKLOAD_POLICY_URL: (Facoltativo) l'URL del criterio del workload. Se non vuoi utilizzare una policy del workload, puoi rimuovere il flag--workload-policy.ZONE: la zona in cui vuoi creare il MIG. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere la zona che contiene il profilo per la tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina. Per ulteriori informazioni, vedi Limitazioni.RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del gruppo di istanze gestite specificato. In caso contrario, la creazione della richiesta di ridimensionamento non va a buon fine.POPULATION_METHOD: il metodo di aggiunta delle istanze al gruppo di istanze gestite. Utilizza uno dei seguenti valori:--resize-by=COUNT: aggiungi il numero specificato di istanze al MIG contemporaneamente. I nomi delle istanze vengono generati automaticamente.--instances=INSTANCE_NAME_LIST: aggiungi contemporaneamente al MIG le istanze con i nomi specificati. Sostituisci INSTANCE_NAME_LIST con un elenco separato da virgole di nomi di istanze. Il numero di nomi che fornisci determina il numero di istanze da creare con questa richiesta di ridimensionamento.
REGION: la regione in cui si trova il MIG.
Se vuoi applicare una policy del workload al tuo MIG, includi il
flag --workload-policy nel comando.
REST
In questo passaggio, le richieste per creare un MIG utilizzano una policy del workload per specificare il posizionamento delle VM. Se non vuoi utilizzare una norma del workload, rimuovi il campo resourcePolicies.workloadPolicy dal corpo della richiesta.
Crea un gruppo di istanze gestite a livello di zona o di regione e una richiesta di ridimensionamento come segue:
- Per creare un gruppo di istanze gestite a livello di zona e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
- Crea un MIG a livello di zona inviando una richiesta
POSTal metodoinstanceGroupManagers.insertcome segue.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di zona inviando una richiesta
POSTal metodoinstanceGroupManagerResizeRequests.insertcome segue:POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
- Crea un MIG a livello di zona inviando una richiesta
- Per creare un gruppo di istanze gestite a livello di regione e una richiesta di ridimensionamento al suo interno, procedi nel seguente modo:
- Crea un gruppo di istanze gestite a livello di regione inviando una richiesta
POSTal metodoregionInstanceGroupManagers.insertcome segue.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "versions": [ { "instanceTemplate": "INSTANCE_TEMPLATE_URL" } ], "name": "MIG_NAME", "targetSize": 0, "distributionPolicy": { "targetShape": "ANY_SINGLE_ZONE", "zones": [ { "zone": "projects/PROJECT_ID/zones/ZONE" } ] }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "resourcePolicies": { "workloadPolicy": WORKLOAD_POLICY_URL } } - Crea una richiesta di ridimensionamento nel gruppo di istanze gestite a livello di regione inviando una richiesta
POSTal metodobeta.regionInstanceGroupManagerResizeRequests.insertcome segue:POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/MIG_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", POPULATION_METHOD }
- Crea un gruppo di istanze gestite a livello di regione inviando una richiesta
Sostituisci quanto segue:
PROJECT_ID: l'ID progettoZONE: la zona in cui vuoi creare il MIG. Anche per un MIG a livello di regione, devi specificare una zona. Questa zona deve essere la zona che contiene il profilo per la tua rete VPC e deve essere una zona in cui è disponibile il tipo di macchina. Per ulteriori informazioni, vedi Limitazioni.REGION: la regione in cui vuoi creare il MIG.INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze nel MIG. L'URL può contenere l'ID o il nome del modello di istanza. Specifica uno dei seguenti valori:- Per un template di istanza regionale:
projects/PROJECT_ID/regions/REGION/instanceTemplates/INSTANCE_TEMPLATE_ID - Per un template di istanza globale:
INSTANCE_TEMPLATE_ID
- Per un template di istanza regionale:
MIG_NAME: il nome del MIG.WORKLOAD_POLICY_URL: (facoltativo) l'URL del criterio del workload. Se non vuoi utilizzare una policy del workload, puoi rimuovere il camporesourcePolicies.workloadPolicy.RESIZE_REQUEST_NAME: il nome della richiesta di ridimensionamento, che deve essere univoco all'interno del gruppo di istanze gestite specificato. In caso contrario, la creazione della richiesta di ridimensionamento non va a buon fine.POPULATION_METHOD: il metodo di aggiunta delle istanze al gruppo di istanze gestite. Utilizza uno dei seguenti valori:"resizeBy":COUNT: sostituisci COUNT con il numero specificato di istanze da aggiungere contemporaneamente al MIG. I nomi delle istanze vengono generati automaticamente."instanceNames":INSTANCE_NAME_LIST: aggiungi contemporaneamente al MIG le istanze con i nomi specificati. Sostituisci INSTANCE_NAME_LIST con un elenco separato da virgole di nomi di istanze. Il numero di nomi che fornisci determina il numero di istanze da creare con questa richiesta di ridimensionamento.
Se vuoi applicare una policy del workload al tuo MIG, includi il
campo resourcePolicies.workloadPolicy nel corpo della richiesta.
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
Elimina un progetto Google Cloud :
gcloud projects delete PROJECT_ID
Elimina le risorse
Se lo stato di eliminazione automatica dei dischi è stato impostato su
Falsenel modello di istanza, i dischi non vengono eliminati automaticamente quando viene eliminata l'istanza VM. Puoi eliminare i dischi utilizzando uno dei seguenti metodi:Console
- Nella console Google Cloud , vai alla pagina Dischi.
Seleziona le righe contenenti i dischi che hai creato in questo tutorial. Assicurati che la colonna Utilizzato da sia vuota per ogni disco.
Fai clic su Elimina, quindi fai clic su Elimina per confermare.
gcloud
Utilizza il comando
gcloud compute disks delete.gcloud compute disks delete DISK_NAME \ --project PROJECT_ID --zone ZONESostituisci quanto segue:
- DISK_NAME : il nome del disco da eliminare
- PROJECT_ID: l'ID del progetto che contiene il disco
- ZONE: la zona del disco
REST
Utilizza il metodo
disks.deleteper eliminare i dischi.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAMESostituisci quanto segue:
- PROJECT_ID: l'ID del progetto che contiene il disco
- ZONE: la zona del disco
- DISK_NAME : il nome del disco da eliminare
Passaggi successivi
- Scopri di più sui gruppi di istanze gestite
- Scopri di più sulle opzioni di consumo di Compute Engine
- Scopri di più sulla serie di macchine H4D
- Visualizzare, annullare o eliminare le richieste di ridimensionamento
- Risolvi i problemi relativi al consumo delle prenotazioni