Se utilizzi un gruppo di istanze gestite a livello di regione, puoi impostare la forma di distribuzione di destinazione di quel gruppo su una delle seguenti opzioni:
- EVEN (impostazione predefinita): il gruppo crea ed elimina le VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzione
EVEN
, il numero di VM non differisce di più di 1 tra le due zone. Opzione consigliata per carichi di lavoro di gestione ad alta disponibilità. - Bilanciata: il gruppo dà la priorità alla creazione delle VM in zone in cui sono disponibili risorse, distribuendo le VM nel modo più uniforme possibile nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Opzione consigliata per carichi di lavoro in batch o di pubblicazione a disponibilità elevata.
- ANY: il gruppo sceglie zone per creare istanze VM al fine di soddisfare il numero richiesto di VM all'interno dei vincoli delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Opzione consigliata per i carichi di lavoro batch che non richiedono un'alta disponibilità.
- QUALSIASI SINGOLA ZONA: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità attuale di risorse e quote e alle prenotazioni corrispondenti. Opzione consigliata in combinazione con un criterio di posizionamento delle istanze compatto per i carichi di lavoro che richiedono una comunicazione estesa tra le VM.
Per utilizzare VM prenotate in un gruppo di istanze gestite a livello di regione, crea prenotazioni identiche con lo stesso nome in ogni zona applicabile. Quindi, scegli come target queste prenotazioni in base al nome nel modello di istanza del gruppo.
Per aiutarti a scegliere una forma, consulta la tabella di confronto, i casi d'uso e come funzionano le forme di distribuzione.
Imposta una forma di distribuzione di destinazione durante la creazione del gruppo di istanze gestite a livello di regione o aggiorna la forma di destinazione di un gruppo di istanze gestite a livello di regione esistente.
Prima di iniziare
-
Se non l'hai ancora fatto, configura l'autenticazione.
L'autenticazione è il processo mediante il quale viene verificata l'identità per l'accesso ai servizi e alle API Google Cloud.
Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti in Compute Engine nel seguente modo.
Select the tab for how you plan to use the samples on this page:
Console
When you use the Google Cloud console to access Google Cloud services and APIs, you don't need to set up authentication.
gcloud
-
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
- Set a default region and zone.
- Installa Google Cloud CLI.
-
Per initialize gcloud CLI, esegui questo comando:
gcloud init
-
Crea credenziali di autenticazione locali per il tuo Account Google:
gcloud auth application-default login
- Puoi selezionare le zone per il tuo gruppo di istanze gestite solo quando lo crei.
Se nel modello di istanza del gruppo di istanze gestite o nella configurazione stateful specifichi risorse che non sono disponibili in tutte le zone selezionate, si applicano le seguenti limitazioni:
- Devi impostare la forma di distribuzione di destinazione su
BALANCED
,ANY
oANY_SINGLE_ZONE
. - Devi assicurarti che tutte le risorse richieste dal gruppo di istanze gestite, ad esempio dischi esistenti, tipi di macchina o GPU, siano disponibili in almeno una delle zone selezionate.
- Se vuoi aggiornare la configurazione del gruppo di istanze gestite (ad esempio il modello di istanza) a una configurazione che non può essere creata in tutte le zone selezionate, devi rimuovere le istanze gestite da tutte le zone non supportate prima di impostare la nuova configurazione.
- Devi impostare la forma di distribuzione di destinazione su
Per impostare la forma di distribuzione di destinazione su
BALANCED
oANY_SINGLE_ZONE
, devi disabilitare la ridistribuzione proattiva delle istanze.- Se vuoi scalare automaticamente un gruppo di istanze gestite a livello di regione, devi impostare la
forma di distribuzione di destinazione del gruppo su
BALANCED
(anteprima) oEVEN
. Se imposti la forma di distribuzione di destinazione su
BALANCED
,ANY
oANY_SINGLE_ZONE
, si applicano le seguenti limitazioni:- Gli aggiornamenti canary con due versions non sono supportati.
- In caso di disponibilità limitata delle risorse richieste nell'intera regione, il gruppo potrebbe pianificare la creazione di istanze VM in una zona in cui le risorse non sono già disponibili. Puoi provare a diminuire e aumentare la dimensione del gruppo per ottenere le risorse richieste in altre zone.
- Gli aggiornamenti in sequenza che utilizzano il metodo di sostituzione
SUBSTITUTE
proveranno a creare le nuove istanze aggiornate nella stessa zona delle macchine obsolete, anche se la zona non dispone di risorse per soddisfare i requisiti della nuova versione. Per mediare questo comportamento, puoi eliminare le VM obsolete dalla zona vincolata, quindi aumentare la dimensione del gruppo in base al numero di VM eliminate. Il gruppo crea istanze a partire dal modello più recente nelle zone in cui è disponibile la capacità. - Se vuoi aggiornare il modello di istanza del gruppo con un modello che specifichi le risorse non disponibili in tutte le zone selezionate, devi rimuovere le istanze gestite dalle zone non supportate prima di impostare il nuovo modello.
Se imposti la forma di distribuzione di destinazione su
ANY_SINGLE_ZONE
e il gruppo dispone di VM esistenti in una singola zona, puoi creare VM aggiuntive solo in quella zona. Se vuoi utilizzare una zona diversa, devi prima scalare il gruppo fino a zero VM.Se hai bisogno di eseguire il provisioning di un gruppo di VM single-tenant, devi impostare la forma di distribuzione di destinazione del gruppo di istanze gestite su
EVEN
. Crea i tuoi gruppi di nodi nelle stesse zone del gruppo di istanze gestite e imposta le affinità dei nodi del gruppo di istanze gestite nel modello di istanza del gruppo di istanze gestite.- Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Fai clic su Crea gruppo di istanze per creare un nuovo gruppo di istanze.
- Seleziona una delle opzioni per un nuovo gruppo di istanze gestite: stateless (impostazione predefinita) o stateful.
- Assegna un nome e, facoltativamente, una descrizione al gruppo di istanze.
- Scegli un modello di istanza per il gruppo di istanze o creane uno nuovo.
- Specifica il numero di VM per questo gruppo. Per i carichi di lavoro ad alta disponibilità, ricorda di eseguire il provisioning di VM sufficienti per supportare la tua applicazione in caso di errore di una zona.
- In Località, seleziona Più zone.
Scegli una regione e seleziona le zone che vuoi utilizzare.
- Se vuoi che il gruppo di istanze gestite possa utilizzare tutte le zone della regione, seleziona tutte le zone disponibili.
- Tieni presente che non puoi aggiornare un gruppo di istanze gestite a livello di regione in modo da utilizzare zone diverse dopo la sua creazione.
Scegli una forma di distribuzione di destinazione.
- Se vuoi selezionare Qualsiasi o Qualsiasi zona singola, nella sezione Scalabilità automatica, fai clic su Modalità di scalabilità automatica e scegli Elimina configurazione della scalabilità automatica.
- Se vuoi selezionare Qualsiasi zona singola o Bilanciata, nella sezione Ridistribuzione delle istanze, non selezionare Consenti ridistribuzione delle istanze.
Continua con il resto della procedura di creazione del gruppo di istanze gestite.
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze.TEMPLATE
: il nome del modello di istanza da utilizzare per il gruppo.SIZE
: la dimensione di destinazione del gruppo di istanze.REGION
: la regione in cui vuoi includere il gruppo.ZONES
(facoltativo): un elenco di zone della regione in cui vuoi eseguire il deployment delle istanze VM. Per impostazione predefinita, Compute Engine seleziona tre zone per te.Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone della regione, specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone con il seguente comando:
gcloud compute zones list --filter=region:
REGION
--format='list(NAME)'Tieni presente che non puoi aggiornare un gruppo di istanze gestite a livello di regione per utilizzare zone diverse dopo la sua creazione.
SHAPE
: la forma di distribuzione di destinazione. Può essere uno dei seguenti valori:even
(predefinito): il gruppo crea ed elimina le VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzioneEVEN
, il numero di VM non differisce di più di 1 tra le due zone. Opzione consigliata per carichi di lavoro di gestione ad alta disponibilità.balanced
: il gruppo dà la priorità alla creazione delle VM nelle zone in cui sono disponibili risorse, distribuendo le VM nel modo più uniforme possibile nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Opzione consigliata per carichi di lavoro in batch o di pubblicazione a disponibilità elevata.any
: il gruppo sceglie le zone per creare istanze VM al fine di soddisfare il numero richiesto di VM all'interno dei vincoli delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Opzione consigliata per i carichi di lavoro batch che non richiedono un'alta disponibilità.any-single-zone
: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità attuale di risorse e quote e alle prenotazioni corrispondenti. Opzione consigliata in combinazione con un criterio di posizionamento delle istanze compatto per i carichi di lavoro che richiedono una comunicazione estesa tra le VM.
PROJECT_ID
: l'ID progetto per questa richiesta.REGION
: la regione del gruppo di istanze.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze.TEMPLATE
: il nome del modello di istanza da utilizzare per il gruppo di istanze.SIZE
: la dimensione di destinazione del gruppo di istanze.ZONE
: il nome di una zona nella regione in cui vuoi eseguire il deployment delle istanze VM.- Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone della regione, specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone della regione chiamando il metodo
regions.get
. - Tieni presente che non puoi aggiornare un gruppo di istanze gestite a livello di regione per utilizzare zone diverse dopo la sua creazione.
- Se vuoi che il gruppo di istanze gestite sia in grado di utilizzare tutte le zone della regione, specifica tutte le zone disponibili. Puoi ottenere un elenco delle zone della regione chiamando il metodo
SHAPE
: la forma di distribuzione di destinazione. Può essere uno dei seguenti valori:EVEN
(predefinito): il gruppo crea ed elimina le VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzioneEVEN
, il numero di VM non differisce di più di 1 tra le due zone. Opzione consigliata per carichi di lavoro di gestione ad alta disponibilità.BALANCED
: il gruppo dà la priorità alla creazione delle VM nelle zone in cui sono disponibili risorse, distribuendo le VM nel modo più uniforme possibile nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Opzione consigliata per carichi di lavoro in batch o di pubblicazione a disponibilità elevata.ANY
: il gruppo sceglie le zone per creare istanze VM al fine di soddisfare il numero richiesto di VM all'interno dei vincoli delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Opzione consigliata per i carichi di lavoro batch che non richiedono un'alta disponibilità.ANY_SINGLE_ZONE
: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità attuale di risorse e quote e alle prenotazioni corrispondenti. Opzione consigliata in combinazione con un criterio di posizionamento delle istanze compatto per i carichi di lavoro che richiedono una comunicazione estesa tra le VM.
- Se vuoi modificare la forma di distribuzione di destinazione in
BALANCED
, devi prima disabilitare la ridistribuzione proattiva. - Se vuoi modificare la forma di distribuzione di destinazione in
EVEN
e se la distribuzione attuale delle istanze non è uniforme, devi prima disabilitare la ridistribuzione proattiva. - Se modifichi la forma in
EVEN
e vuoi riattivare la ridistribuzione proattiva, devi prima ribilanciare manualmente il gruppo. - Se vuoi modificare la forma di distribuzione di destinazione in
EVEN
, ma il tuo modello di istanza specifica risorse non supportate in tutte le zone selezionate, devi prima aggiornare il modello di istanza del gruppo impostandone uno supportato in tutte le zone selezionate. - Nella console Google Cloud, vai alla pagina Gruppi di istanze.
- Nella colonna Nome dell'elenco, fai clic sul nome del gruppo di istanze in cui vuoi modificare la forma di distribuzione di destinazione.
- Fai clic su Modifica per modificare questo gruppo di istanze gestite.
- In Forma di distribuzione di destinazione, specifica la forma che ti interessa.
- Fai clic su Salva per applicare il nuovo modello.
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze.SHAPE
: la forma di distribuzione di destinazione. Può essere uno dei seguenti valori:even
(predefinito): il gruppo crea ed elimina le VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzioneEVEN
, il numero di VM non differisce di più di 1 tra le due zone. Opzione consigliata per carichi di lavoro di gestione ad alta disponibilità.balanced
: il gruppo dà la priorità alla creazione delle VM nelle zone in cui sono disponibili risorse, distribuendo le VM nel modo più uniforme possibile nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Opzione consigliata per carichi di lavoro in batch o di pubblicazione a disponibilità elevata.any
: il gruppo sceglie le zone per creare istanze VM al fine di soddisfare il numero richiesto di VM all'interno dei vincoli delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Opzione consigliata per i carichi di lavoro batch che non richiedono un'alta disponibilità.any-single-zone
: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità attuale di risorse e quote e alle prenotazioni corrispondenti. Opzione consigliata in combinazione con un criterio di posizionamento delle istanze compatto per i carichi di lavoro che richiedono una comunicazione estesa tra le VM.
PROJECT_ID
: l'ID progetto per questa richiesta.REGION
: la regione del gruppo di istanze.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze.SHAPE
: la forma di distribuzione di destinazione. Può essere uno dei seguenti valori:EVEN
(predefinito): il gruppo crea ed elimina le VM per raggiungere e mantenere lo stesso numero di VM nelle zone selezionate. In una distribuzioneEVEN
, il numero di VM non differisce di più di 1 tra le due zone. Opzione consigliata per carichi di lavoro di gestione ad alta disponibilità.BALANCED
: il gruppo dà la priorità alla creazione delle VM nelle zone in cui sono disponibili risorse, distribuendo le VM nel modo più uniforme possibile nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Opzione consigliata per carichi di lavoro in batch o di pubblicazione a disponibilità elevata.ANY
: il gruppo sceglie le zone per creare istanze VM al fine di soddisfare il numero richiesto di VM all'interno dei vincoli delle risorse attuali e per massimizzare l'utilizzo delle prenotazioni a livello di zona inutilizzate. Opzione consigliata per i carichi di lavoro batch che non richiedono un'alta disponibilità.ANY_SINGLE_ZONE
: il gruppo crea tutte le istanze VM all'interno di una singola zona. La zona viene scelta in base al supporto hardware, alla disponibilità attuale di risorse e quote e alle prenotazioni corrispondenti. Opzione consigliata in combinazione con un criterio di posizionamento delle istanze compatto per i carichi di lavoro che richiedono una comunicazione estesa tra le VM.
- Nella console Google Cloud, vai alla pagina Gruppi di istanze. Se sono presenti gruppi di istanze, nella pagina sono elencati questi gruppi.
- Fai clic sul nome del gruppo di istanze da esaminare. Si apre una pagina con le proprietà del gruppo di istanze e un elenco di istanze incluse nel gruppo.
- Fai clic su Dettagli.
- Nella sezione Località, cerca Forma di distribuzione di destinazione.
PROJECT_ID
: l'ID progetto per questa richiestaREGION
: la regione del gruppo di istanzeINSTANCE_GROUP_NAME
: il nome del gruppo di istanze- Scopri di più sulla visualizzazione di informazioni sui gruppi di istanze gestite e sulle relative VM.
- Scopri di più sull'utilizzo delle VM in un gruppo di istanze gestite, tra cui l'aggiunta, la nuova creazione e la rimozione di VM e l'aggiornamento della configurazione delle VM.
Terraform
Per utilizzare gli esempi di Terraform su questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura le Credenziali predefinite dell'applicazione con le tue credenziali utente.
Per ulteriori informazioni, consulta Set up authentication for a local development environment.
REST
Per utilizzare gli esempi di API REST in questa pagina in un ambiente di sviluppo locale, devi utilizzare le credenziali che fornisci a gcloud CLI.
Installa Google Cloud CLI, quindi initialize eseguendo questo comando:
gcloud init
Per maggiori informazioni, consulta Autenticazione per REST nella documentazione sull'autenticazione di Google Cloud.
Limitazioni
Creazione di un gruppo con una forma di distribuzione di destinazione
Per creare il gruppo, selezionarne le zone e impostare la forma di distribuzione di destinazione, utilizza la console Google Cloud, gcloud CLI, Terraform o REST.
Console
gcloud
Usa il comando
gcloud compute instance-groups managed create
e includi il flag--target-distribution-shape
.gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \ --template TEMPLATE \ --size SIZE \ --region REGION \ --zones ZONES \ --target-distribution-shape SHAPE
Sostituisci quanto segue:
Ad esempio, per creare un gruppo di istanze gestite a livello di regione con una forma di distribuzione di destinazione bilanciata, imposta il flag
--target-distribution-shape
subalanced
.gcloud compute instance-groups managed create example-rmig \ --template example-template \ --size 30 \ --zones us-east1-b,us-east1-c \ --target-distribution-shape balanced \ --instance-redistribution-type none
Terraform
Se non hai già creato un modello di istanza in cui specifichi il tipo di macchina, l'immagine del disco di avvio, la rete e altre proprietà delle VM che vuoi utilizzare per ogni VM nel tuo gruppo di istanze gestite, crea un modello di istanza.
Per creare un gruppo di istanze gestite a livello di regione, utilizza la risorsa
google_compute_region_instance_group_manager
.L'esempio seguente crea un gruppo di istanze gestite a livello di regione con forma di distribuzione di destinazione
BALANCED
.Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
REST
Chiama il metodo
regionInstanceGroupManagers.insert
. Nel corpo della richiesta, includi la proprietàdistributionPolicy
e imposta il relativo campotargetShape
.POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": INSTANCE_GROUP_NAME, "instanceTemplate": "global/instanceTemplates/TEMPLATE", "targetSize": SIZE, "distributionPolicy": { "zones": [ {"zone": "zones/ZONE1"}, {"zone": "zones/ZONE2"}, {"zone": "zones/ZONE3"}, ], "targetShape": "SHAPE" } }
Sostituisci quanto segue:
Modifica della forma di distribuzione di destinazione di un gruppo esistente
Puoi modificare la forma di distribuzione di destinazione in un gruppo di istanze gestite a livello di regione esistente, ma con le seguenti limitazioni:
Console
gcloud
Usa il comando
gcloud compute instance-groups managed update
e includi il flag--target-distribution-shape
.gcloud compute instance-groups managed update INSTANCE_GROUP_NAME \ --target-distribution-shape SHAPE
Sostituisci quanto segue:
REST
Chiama il metodo
regionInstanceGroupManagers.patch
. Nel corpo della richiesta, includi la proprietàdistributionPolicy
e imposta il relativo campotargetShape
.PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "distributionPolicy": { "targetShape": "SHAPE" } }
Sostituisci quanto segue:
Visualizzazione del criterio di distribuzione delle istanze configurate
Console
gcloud
Esegui il comando
gcloud compute instance-groups managed describe
.gcloud compute instance-groups managed describe INSTANCE_GROUP_NAME \ --region REGION
Il comando restituisce i dettagli del gruppo, tra cui il campo
distributionPolicy.targetShape
:... distributionPolicy: targetShape: BALANCED zones: - zone: https://www.googleapis.com/compute/v1/projects/my-project/zones/us-central1-f ... name: my-group region: https://www.googleapis.com/compute/v1/projects/my-project/regions/us-central1 ...
REST
Crea una richiesta
GET
nel metodoregionInstanceGroupManagers.get
.GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME
Sostituisci quanto segue:
La forma di distribuzione di destinazione viene restituita nel campo
distributionPolicy.targetShape
. Ad esempio:{ "name": "my-instance-group", "distributionPolicy": { "targetShape": "BALANCED", }, "targetSize": 50, ... }
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-06-07 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" }] -