Questo documento descrive come creare un gruppo di istanze gestite con GPU delle VM in esecuzione. Descrive come aggiungere le VM GPU tutte contemporaneamente nel gruppo utilizzando richieste di ridimensionamento.
L'utilizzo di una richiesta di ridimensionamento migliora l'ottenimento delle VM GPU in un gruppo di istanze gestite. Nella specifica il numero di VM GPU e la durata dell'esecuzione queste VM. Dynamic Workload Scheduler (DWS), meccanismo di scheduler sottostante, pianifica le richieste di ridimensionamento create Compute Engine in base alle durate richieste e alla disponibilità delle risorse. Quando quando le risorse diventano disponibili, il gruppo di istanze gestite crea automaticamente le VM.
Se il job in esecuzione su queste VM termina prima della durata richiesta, puoi eliminarli. In caso contrario, il gruppo di istanze gestite elimina automaticamente le VM quando termina la durata.
Puoi anche leggere altre informazioni scenari di base per la creazione di un gruppo di istanze gestite.
Prima di iniziare
- Per assicurarti di avere una quota GPU sufficiente per le risorse che stai richiesta, controlla la quota GPU.
- Per comprendere il consumo delle quote, leggi VM GPU e quote di allocazione prerilasciabili.
-
Se non l'hai già fatto, configura l'autenticazione.
Autenticazione è
Il processo di verifica dell'identità per l'accesso ai servizi e alle API di Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi eseguire l'autenticazione
Compute Engine come segue.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
Crea un modello di istanza, obbligatorio per creare un gruppo di istanze gestite. Il gruppo di istanze gestite crea ogni VM nel gruppo in base al modello di istanza. Nel modello, specificare la configurazione per le VM GPU e le configurazioni aggiuntive necessarie per l'uso delle richieste di ridimensionamento.
Per ulteriori informazioni sui modelli di istanza, consulta Informazioni sui modelli di istanza.
Crea un gruppo di istanze gestite e una richiesta di ridimensionamento per aggiungere contemporaneamente le VM GPU.
Vai alla pagina Modelli di istanza.
Fai clic su Crea modello istanza.
Nel campo Nome, inserisci un nome per il modello di istanza.
Nella sezione Configurazione macchina, segui questi passaggi:
- Fai clic sulla scheda GPU.
- Nell'elenco Tipo di GPU, seleziona il tipo di GPU.
- Nell'elenco Numero di GPU, seleziona il numero di GPU.
- Nell'elenco Tipo di macchina, seleziona un tipo di macchina.
(Facoltativo) Per modificare il tipo di disco di avvio o l'immagine del valore predefinito, nella sezione Nella sezione Disco di avvio, fai clic su Cambia. Quindi, segui le istruzioni per cambiare il disco di avvio.
Espandi la sezione Opzioni avanzate e poi esegui la seguenti:
- Espandi la sezione Gestione.
- Nell'elenco Prenotazioni, seleziona Non utilizzare.
Fai clic su Crea.
INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.MACHINE_TYPE
: un tipo di macchina supporta le GPU. Se specifichi un tipo di macchina N1, includi--accelerator
flag per specificare il numero e il tipo di GPU da collegare alle VM.PROJECT_ID
: l'ID del progetto in cui creare il gruppo di istanze gestite.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza modello.MACHINE_TYPE
: un tipo di macchina supporta le GPU. Se specifichi un tipo di macchina N1, includi CampoguestAccelerators
per specificare il numero e il tipo di GPU da collegare alle VM.Vai alla pagina Gruppi di istanze.
Fai clic su Crea gruppo di istanze.
Completa i seguenti campi:
- Nome: inserisci un nome per il gruppo.
- Modello di istanza: seleziona il modello di istanza che configurato nella sezione precedente.
- Nella sezione Posizione:
- .
- Seleziona Zona singola.
- Negli elenchi Regione e Zona, seleziona la località in cui con cui vuoi creare il gruppo.
Il campo Numero di istanze verrà abilitato per la modifica dopo il elimina la configurazione della scalabilità automatica e disattiva le riparazioni passaggi.
Elimina la configurazione della scalabilità automatica come segue:
- Nella sezione Scalabilità automatica, fai clic sull'elenco Modalità di scalabilità automatica. e fai clic su Elimina configurazione scalabilità automatica.
- Nella finestra di dialogo Vuoi eliminare la configurazione della scalabilità automatica?, fai clic su Elimina.
Disattiva le riparazioni nel gruppo di istanze gestite nel seguente modo:
Nella sezione Ciclo di vita dell'istanza VM, imposta il percorso Azione predefinita in caso di errore su Nessuna azione.
Specifica il numero di VM GPU e la durata di esecuzione per la creazione di un ridimensionamento richiesta:
Nel campo Numero di istanze, inserisci il numero di VM GPU che vuoi creare contemporaneamente.
Seleziona Utilizza la richiesta di ridimensionamento per creare tutte le VM contemporaneamente casella di controllo. Vengono visualizzati i campi per inserire la durata dell'esecuzione.
Nel campo Durata esecuzione richiesta e nell'elenco Unità, specifica la durata di esecuzione delle VM GPU. La durata deve essere compresa tra 1 ora e 7 giorni.
Fai clic su Crea.
Crea un gruppo di istanze gestite a livello di zona utilizzando Comando
instance-groups managed create
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template=INSTANCE_TEMPLATE_NAME \ --size=0 \ --zone=ZONE \ --default-action-on-vm-failure=do_nothing
Nel gruppo di istanze gestite, crea una richiesta di ridimensionamento utilizzando Comando
instance-groups managed resize-requests create
. Specifica il numero di VM GPU che vuoi e la durata su cui vuoi eseguire le VM.gcloud compute instance-groups managed resize-requests create INSTANCE_GROUP_NAME \ --resize-request=RESIZE_REQUEST_NAME \ --resize-by=COUNT \ --requested-run-duration=RUN_DURATION\ --zone=ZONE
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza per le VM GPU.ZONE
: uno dei zone disponibili per in Compute Engine.RESIZE_REQUEST_NAME
: il nome del ridimensionamento richiesta.COUNT
: il numero di VM da aggiungere contemporaneamente nella gruppo.RUN_DURATION
: la durata da applicare VM da eseguire. Il formato del valore deve corrispondere al numero di giorni, ore, minuti o secondi seguiti rispettivamente dad
,h
,m
es
. Per Ad esempio, specifica30m
per 30 minuti o1d2h3m4s
per 1 giorno, 2 ore, 3 minuti e 4 secondi. Il valore deve essere compreso tra 10 minuti e 7 giorni.Crea un gruppo di istanze gestite a livello di zona effettuando una richiesta
POST
al MetodoinstanceGroupManagers.insert
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers { "versions": [ { "instanceTemplate": "global/instanceTemplates/INSTANCE_TEMPLATE_NAME" } ], "name": "INSTANCE_GROUP_NAME", "targetSize": 0, "instanceLifecyclePolicy": { "defaultActionOnFailure": "DO_NOTHING" } }
Nel gruppo di istanze gestite, crea una richiesta di ridimensionamento effettuando una richiesta
POST
al MetodoinstanceGroupManagerResizeRequests.insert
. Nel corpo della richiesta, specifica il numero di VM GPU che vuoi e la durata dell'esecuzione delle VM.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/instanceGroupManagers/INSTANCE_GROUP_NAME/resizeRequests { "name": "RESIZE_REQUEST_NAME", "resizeBy": COUNT, "requestedRunDuration": { "seconds": "RUN_DURATION" } }
PROJECT_ID
: l'ID del progetto in cui creare il gruppo di istanze gestite.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.INSTANCE_TEMPLATE_NAME
: il nome dell'istanza per le VM GPU.ZONE
: uno dei zone disponibili per in Compute Engine.RESIZE_REQUEST_NAME
: il nome del ridimensionamento richiesta.COUNT
: il numero di VM da aggiungere contemporaneamente nella gruppo.RUN_DURATION
: la durata, in secondi, che vuoi le VM richieste prima che il gruppo di istanze gestite le elimini automaticamente. La il valore deve essere compreso tra600
, ovvero 600 secondi (10 minuti), e604800
, 604.800 secondi (7 giorni).Scopri come fare le richieste di ridimensionamento funzionano in un gruppo di istanze gestite.
Scopri come visualizzare, annullare o eliminare le richieste di ridimensionamento in un gruppo di istanze gestite.
Scopri come visualizza informazioni su gruppi di istanze gestite e VM gestite.
Scopri come visualizza l'utilizzo effettivo e previsto di VM e GPU.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, utilizzi le credenziali che fornisci a gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Esamina le limitazioni per la creazione di una richiesta di ridimensionamento in un gruppo di istanze gestite.
Crea un gruppo di istanze gestite e aggiungi tutte le VM GPU contemporaneamente
Per creare un gruppo di istanze gestite e aggiungere le VM GPU tutte contemporaneamente nel gruppo:
Crea un modello di istanza
Crea un modello di istanza come descritto in questa sezione, quindi utilizza il metodo per creare un gruppo di istanze gestite.
Console
gcloud
Crea un modello di istanza utilizzando Comando
instance-templates create
.Il comando seguente crea un modello di istanza globale basato su un Deep Learning VM Image.
gcloud compute instance-templates create INSTANCE_TEMPLATE_NAME \ --machine-type=MACHINE_TYPE \ --image-project=deeplearning-platform-release \ --image-family=common-cu121 \ --maintenance-policy=TERMINATE \ --reservation-affinity=none
Sostituisci quanto segue:
REST
Crea un modello di istanza effettuando una richiesta
POST
alla MetodoinstanceTemplates.insert
.La richiesta seguente crea un modello di istanza globale basato su un Deep Learning VM Image.
POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/global/instanceTemplates { "name": "INSTANCE_TEMPLATE_NAME", "properties": { "machineType": "MACHINE_TYPE", "disks": [ { "boot": true, "mode": "READ_WRITE", "type": "PERSISTENT", "initializeParams": { "sourceImage": "projects/deeplearning-platform-release/global/images/family/common-cu121" } } ], "networkInterfaces": [ { "accessConfigs": [ { "name": "external-IP", "type": "ONE_TO_ONE_NAT" } ], "network": "global/networks/default" } ], "reservationAffinity": { "consumeReservationType": "NO_RESERVATION" }, "scheduling": { "onHostMaintenance": "TERMINATE" } } }
Sostituisci quanto segue:
Crea un gruppo di istanze gestite e aggiungi tutte le VM GPU contemporaneamente
Crea un gruppo di istanze gestite come descritto in questa sezione. Per utilizzare una richiesta di ridimensionamento nel gruppo di istanze gestite, non devi configurare la scalabilità automatica e devi disattivare riparazioni
Console
gcloud
Sostituisci quanto segue:
REST
Sostituisci quanto segue:
La richiesta di ridimensionamento che crei rimane nello stato
ACCEPTED
fino al gruppo di istanze gestite crea tutte le VM GPU richieste. Dopo aver creato tutte le VM GPU nel gruppo, lo stato della richiesta diventaSUCCEEDED
.Passaggi successivi
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 2024-09-12 UTC.
[{ "type": "thumb-down", "id": "hardToUnderstand", "label":"Hard to understand" },{ "type": "thumb-down", "id": "incorrectInformationOrSampleCode", "label":"Incorrect information or sample code" },{ "type": "thumb-down", "id": "missingTheInformationSamplesINeed", "label":"Missing the information/samples I need" },{ "type": "thumb-down", "id": "translationIssue", "label":"Problema di traduzione" },{ "type": "thumb-down", "id": "otherDown", "label":"Altra" }] [{ "type": "thumb-up", "id": "easyToUnderstand", "label":"Facile da capire" },{ "type": "thumb-up", "id": "solvedMyProblem", "label":"Il problema è stato risolto" },{ "type": "thumb-up", "id": "otherUp", "label":"Altra" }] -