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 disponibilità 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 a specialisti di dati e MPI interessati a creare un gruppo di istanze HPC interconnesse per eseguire i propri carichi di lavoro. 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.
- Creare un modello 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 ulteriori informazioni, vedi Pulizia.
Prima di iniziare
- Sign in to your Google Cloud account. If you're new to Google Cloud, create an account to evaluate how our products perform in real-world scenarios. New customers also get $300 in free credits to run, test, and deploy workloads.
-
Install the 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
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Install the 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
-
Create or select a Google Cloud project.
Roles required to select or create a project
- Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
-
Create a project: To create a project, you need the Project Creator
(
roles/resourcemanager.projectCreator
), which contains theresourcemanager.projects.create
permission. Learn how to grant roles.
-
Create a Google Cloud project:
gcloud projects create PROJECT_ID
Replace
PROJECT_ID
with a name for the Google Cloud project you are creating. -
Select the Google Cloud project that you created:
gcloud config set project PROJECT_ID
Replace
PROJECT_ID
with your Google Cloud project name.
-
Verify that billing is enabled for your Google Cloud project.
-
Enable the required API:
Roles required to enable APIs
To enable APIs, you need the Service Usage Admin IAM role (
roles/serviceusage.serviceUsageAdmin
), which contains theserviceusage.services.enable
permission. Learn how to grant roles.gcloud services enable compute.googleapis.com
-
Grant roles to your user account. Run the following command once for each of the following IAM roles:
roles/compute.instanceAdmin.v1,roles/compute.networkAdmin
gcloud projects add-iam-policy-binding PROJECT_ID --member="user:USER_IDENTIFIER" --role=ROLE
Replace the following:
PROJECT_ID
: your project ID.USER_IDENTIFIER
: the identifier for your user account—for example,myemail@example.com
.ROLE
: the IAM role that you grant to your user account.
Segui la procedura per riservare la capacità contattando il team dell'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
H4D
nell'elenco Seleziona una serie di macchine. - Tipo di pianificazione della manutenzione: per le istanze H4D, puoi specificare
GROUPED
oINDEPENDENT
. - 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 modello di istanza, specifica il modello di provisioning con prenotazione. Le istanze VM nel MIG vengono sottoposte a provisioning dalla capacità riservata.
- 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 modello di istanza, specifica il modello di provisioning con prenotazione. Le istanze VM nel MIG vengono sottoposte a provisioning dalla capacità riservata.
- 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.
- Tipo di NIC
GVNIC
: utilizza il drivergve
per 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. 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 RDMA. Utilizza il valore predefinito per l'unità massima di trasmissione (MTU) per una rete RDMA, ovvero8896
.- (Facoltativo) Prima di eseguire lo script, elenca i profili di rete RDMA per
verificare che ne sia disponibile uno.
gcloud beta 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 standard 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 network for the RDMA over Falcon network interface gcloud beta compute networks create RDMA_NAME_PREFIX-irdma \ --network-profile=ZONE-vpc-falcon \ --subnet-mode custom # Create a subnet for the RDMA network gcloud beta 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 ranges
Sostituisci 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 standard 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-profile
durante la creazione della rete RDMA. 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/0
o::/0
come 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-a
oeurope-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.
-
Per un posizionamento delle VM secondo il criterio del "best effort", specifica solo il flag
--type=high-throughput
nel comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --region=REGION
-
Per la collocazione rigorosa delle VM, specifica il flag
--max-topology-distance
nel comando:gcloud compute resource-policies create workload-policy WORKLOAD_POLICY_NAME \ --type=high-throughput \ --max-topology-distance=TOPOLOGY_DISTANCE \ --region=REGION
WORKLOAD_POLICY_NAME
: il nome della policy del workload.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.-
Per un posizionamento delle VM con il massimo impegno, specifica solo il campo
type
nella 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 il campo
maxTopologyDistance
nella 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" } }
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.INSTANCE_TEMPLATE_NAME
: il nome del modello 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-interface
con il camponic-type
impostato suGVNIC
. Inoltre, ometti le impostazioninetwork
esubnetwork
per questa interfaccia di rete.STACK_TYPE
: (Facoltativo) il tipo di stack da utilizzare per l'interfaccia gVNIC. SpecificaIPV4_ONLY
oIPV4_IPV6
. Se non specifichi un valore, per impostazione predefinita viene utilizzatoIPV4_ONLY
.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 di queste operazioni:- Specifica un indirizzo IPv4 valido dalla subnet.
- Utilizza il flag
no-address
se 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-interface
per 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 di 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
INSTANCE_TEMPLATE_NAME
: il nome del modello 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-interface
con il camponic-type
impostato suGVNIC
. Inoltre, ometti le impostazioninetwork
esubnetwork
per 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-interface
per 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 di 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
- 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.
- Per creare un gruppo di istanze gestite a livello di zona, utilizza questo 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 template di istanza che vuoi utilizzare per creare le VM 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 carico di lavoro, 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
.- Per creare un gruppo di istanze gestite a livello di zona, invia una richiesta
POST
al 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
POST
al 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 un criterio del carico di lavoro, specifica una zona all'interno della regione del criterio.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 template di istanza che vuoi utilizzare per creare le VM 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
.-
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 create
come 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 create
come 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 create
come 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 create
come segue:gcloud beta compute instance-groups managed resize-requests create MIG_NAME \ --resize-request=RESIZE_REQUEST_NAME \ POPULATION_METHOD \ --region=REGION
-
MIG_NAME
: il nome del MIG.INSTANCE_TEMPLATE_URL
: l'URL del template di istanza che vuoi utilizzare per creare le VM 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.- 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
POST
al metodoinstanceGroupManagers.insert
come 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
POST
al metodoinstanceGroupManagerResizeRequests.insert
come 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
POST
al metodoregionInstanceGroupManagers.insert
come 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
POST
al metodobeta.regionInstanceGroupManagerResizeRequests.insert
come 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
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 template di istanza che vuoi utilizzare per creare le VM 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 lo stato di eliminazione automatica dei dischi è stato impostato su
False
nel 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 ZONE
Sostituisci 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.delete
per eliminare i dischi.DELETE https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/disks/DISK_NAME
Sostituisci 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
- 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
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:
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, 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:
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 la pagina 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 Compute Engine.
Per questo tutorial:
Le istanze abilitate a RDMA richiedono un minimo di due interfacce di rete (NIC):
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 NIC
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:
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) 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 istanze su un blocco specifico, salta questo passaggio e fornisci il nome del blocco nell'affinità di prenotazione quando crei il modello di istanza.
Se hai già una policy del workload, puoi riutilizzarla. Quando applichi una policy del workload al tuo
MIG, Compute Engine tenta di creare istanze il più vicine
possibile tra loro. Se la tua applicazione è sensibile alla latenza e vuoi che le istanze siano
più vicine tra loro (massima compattezza), specifica il campo maxTopologyDistance
quando
crei una policy del workload.
Non puoi aggiornare una policy del workload dopo averla creata. Per apportare modifiche a un criterio del workload, devi crearne uno nuovo.
Per creare una policy del workload, seleziona una delle seguenti opzioni:
gcloud
Per creare una policy del workload, utilizza il
comando gcloud compute resource-policies create workload-policy
.
Sostituisci quanto segue:
REST
Per creare una policy del workload, invia una richiesta POST
al metodo resourcePolicies.insert
.
Sostituisci quanto segue:
Crea un modello 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:
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:
Dopo aver creato il modello di istanza, puoi visualizzarlo 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:
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:
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 policy del carico di lavoro, 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:
Crea un MIG 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:
Sostituisci quanto segue:
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 policy del carico di lavoro, 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:
Sostituisci quanto segue:
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
Delete a Google Cloud project:
gcloud projects delete PROJECT_ID