Questo documento descrive come aggiungere la flessibilità delle istanze che ti consente di impostare più tipi di macchine in un gruppo di istanze gestite (MIG).
Puoi aggiungere flessibilità alle istanze durante la creazione di un gruppo di istanze gestite o modificando un gruppo di istanze gestite esistente. Per aggiungere la flessibilità, configura un criterio di flessibilità dell'istanza nel MIG. Il criterio sostituisce il tipo di macchina specificato nel modello di istanza. Ogni volta che il gruppo di istanze gestite crea un'istanza di una macchina virtuale (VM), automaticamente seleziona uno dei tipi di macchina che hai elencato nel criterio in base alla risorsa la disponibilità del servizio. Puoi anche assegnare dei ranking agli elenchi di tipi di macchine per indicare la tua preferenza.
Per sapere come funziona la flessibilità delle istanze in un gruppo di istanze gestite, consulta Informazioni sulla flessibilità delle istanze.
Prima di iniziare
- Assicurati di scegliere tipi di macchina supportati nella regione dove si trova il gruppo di istanze gestite. Per visualizzare i tipi di macchine in una regione, consulta Regioni e zone disponibili.
-
Se non l'hai ancora 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.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
If you're using a local shell, then create local authentication credentials for your user account:
gcloud auth application-default login
You don't need to do this if you're using Cloud Shell.
INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.REGION
: la regione in cui vuoi creare il gruppo di istanze gestite.TARGET_SIZE
: il numero di VM che vuoi che il MIG crei e gestisca.INSTANCE_TEMPLATE
: il nome del modello di istanza.SHAPE
: la forma di distribuzione target. Il valore puòbalanced
oany-single-zone
. Le altre forme di distribuzione di destinazione non supportati.MACHINE_TYPE
: i tipi di macchine da configurare nel gruppo di istanze gestite, ad esempion1-standard-16,n2-standard-16,e2-standard-16
.PROJECT_ID
: il tuo ID progetto.REGION
: la regione in cui vuoi creare il gruppo di istanze gestite.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.TARGET_SIZE
: il numero di VM che vuoi che il MIG crei e gestisca.INSTANCE_TEMPLATE_URL
: l'URL dell'istanza modello.SHAPE
: la forma di distribuzione target. Il valore può essereBALANCED
oANY_SINGLE_ZONE
. Le altre forme di distribuzione di destinazione non supportati.INSTANCE_SELECTION
: il nome dell'elenco di tipi di macchine.MACHINE_TYPE
: i tipi di macchina che vuoi per la configurazione nel gruppo di istanze gestite, ad esempio"n1-standard-16","n2-standard-16","e2-standard-16"
.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.REGION
: la regione in cui vuoi creare il gruppo di istanze gestite.TARGET_SIZE
: il numero di VM che vuoi che il MIG crei e mantenga.INSTANCE_TEMPLATE
: il nome dell'istanza modello.SHAPE
: forma di distribuzione di destinazione. Il valore puòbalanced
oany-single-zone
. Le altre forme di distribuzione target non sono supportate.INSTANCE_SELECTION
: il nome dell'elenco della macchina di testo. Puoi aggiungere più elenchi con preferenze diverse.MACHINE_TYPE
: i tipi di macchina che vuoi nel gruppo di istanze gestite.PROJECT_ID
: il tuo ID progetto.REGION
: la regione in cui vuoi creare il gruppo di istanze gestite.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.TARGET_SIZE
: il numero di VM che vuoi che il MIG crei e gestisca.INSTANCE_TEMPLATE_URL
: l'URL dell'istanza modello.SHAPE
: la forma di distribuzione target. Il valore puòBALANCED
oANY_SINGLE_ZONE
.ZONE
: la zona in cui vuoi creare il gruppo di istanze gestite. Utilizza questo campo se vuoi creare un gruppo di istanze gestite a livello di regione in una determinata zona. In caso contrario, puoi saltare questo campo.INSTANCE_SELECTION
: il nome dell'elenco di tipi di macchine virtuali. Puoi aggiungere più elenchi con preferenze diverse.MACHINE_TYPE
: i tipi di macchina che vuoi per la configurazione nel gruppo di istanze gestite.RANK
: il numero che rappresenta l'ordine dei preferenza. Un valore più basso corrisponde a una preferenza più alta.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite in cui per una maggiore flessibilità delle istanze.REGION
: la regione in cui si trova il gruppo di istanze gestite.MACHINE_TYPE
: i tipi di macchine da configurare nel gruppo di istanze gestite, ad esempion1-standard-16,n2-standard-16,e2-standard-16
.PROJECT_ID
: il tuo ID progetto.REGION
: la regione in cui si trova il gruppo di istanze gestite.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite in cui vuoi aggiungere la flessibilità delle istanze.INSTANCE_SELECTION
: un nome per l'elenco di tipi di macchine virtuali.MACHINE_TYPE
: i tipi di macchina che vuoi per la configurazione nel gruppo di istanze gestite, ad esempio"n1-standard-16","n2-standard-16","e2-standard-16"
.RANK
: il numero che rappresenta l'ordine dei preferenza. Un valore più basso indica una preferenza più alta.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite in cui per una maggiore flessibilità delle istanze.REGION
: la regione in cui si trova il gruppo di istanze gestite.INSTANCE_SELECTION
: il nome dell'elenco della macchina di testo. Puoi aggiungere più elenchi con preferenze diverse.MACHINE_TYPE
: i tipi di macchine da configurare nel gruppo di istanze gestite.PROJECT_ID
: il tuo ID progetto.REGION
: la regione in cui si trova il gruppo di istanze gestite.INSTANCE_GROUP_NAME
: il nome del gruppo di istanze gestite.INSTANCE_SELECTION
: il nome dell'elenco di tipi di macchine. Puoi aggiungere più elenchi con preferenze diverse.MACHINE_TYPE
: i tipi di macchine da configurare nel gruppo di istanze gestite.- Visualizza la configurazione della flessibilità dell'istanza.
- Modifica o rimuovi la configurazione della flessibilità.
Terraform
Per utilizzare gli esempi di Terraform in questa pagina in un ambiente dell'ambiente di sviluppo, installare e inizializzare gcloud CLI quindi configura 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 dell'API REST in questa pagina in un ambiente di sviluppo locale, utilizza le credenziali fornite 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.
Crea un gruppo di istanze gestite con flessibilità delle istanze
Prima di creare un gruppo di istanze gestite, devi prima creare un modello di istanza, se non ne hai già uno. Puoi quindi creare un gruppo di istanze gestite con la flessibilità delle istanze per eseguire l'override del tipo di macchina specificato nel modello di istanza.
Crea un gruppo di istanze gestite con flessibilità delle istanze in uno dei seguenti modi:
Creare un gruppo di istanze gestite con più tipi di macchine
gcloud
Per creare un gruppo di istanze gestite a livello di regione con più tipi di macchine, utilizza il comando beta
instance-groups managed create
come segue:gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \ --region REGION \ --size TARGET_SIZE \ --template INSTANCE_TEMPLATE \ --target-distribution-shape SHAPE \ --instance-redistribution-type none \ --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
I gruppi di istanze gestite zonali non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un gruppo di istanze gestite in una zona singola, imposta la forma di distribuzione target su
any-single-zone
. Inoltre, se desideri una zona specifica, utilizza forma di distribuzione diany-single-zone
e includi il flag--zones ZONE
.Sostituisci quanto segue:
REST
Per creare un gruppo di istanze gestite a livello di regione con più tipi di macchine, invia una richiesta
POST
al metodoregionInstanceGroupManagers.insert
beta.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": TARGET_SIZE, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "distributionPolicy": { "targetShape": "SHAPE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2", ... ] } } } }
I gruppi di istanze gestite di zona non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un gruppo di istanze gestite in una zona singola, imposta la forma di distribuzione target su
ANY_SINGLE_ZONE
. Inoltre, se desideri una zona specifica, utilizza forma di distribuzione diANY_SINGLE_ZONE
e includonodistributionPolicy.zones[].zone
nella richiesta.Sostituisci quanto segue:
Crea un gruppo di istanze gestite con più tipi di macchina e preferenze
gcloud
Per creare un gruppo di istanze gestite a livello di regione con più tipi di macchine e preferenze, utilizza il comando
instance-groups managed create
beta.gcloud beta compute instance-groups managed create INSTANCE_GROUP_NAME \ --region REGION \ --size TARGET_SIZE \ --template INSTANCE_TEMPLATE \ --target-distribution-shape SHAPE \ --instance-redistribution-type none \ --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \ --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"
I gruppi di istanze gestite di zona non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un gruppo di istanze gestite in una zona singola, imposta la forma di distribuzione target su
any-single-zone
. Inoltre, se desideri una zona specifica, utilizza forma di distribuzione diany-single-zone
e includi il flag--zones ZONE
.Sostituisci quanto segue:
REST
Per creare un gruppo di istanze gestite a livello di regione con più tipi di macchina, effettua una richiesta
POST
a il betaregionInstanceGroupManagers.insert
.POST https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers { "name": "INSTANCE_GROUP_NAME", "targetSize": TARGET_SIZE, "instanceTemplate": "INSTANCE_TEMPLATE_URL", "distributionPolicy": { "targetShape": "SHAPE" }, "updatePolicy": { "instanceRedistributionType": "NONE" }, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION_1": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2", ... ], "rank": RANK_1 }, "INSTANCE_SELECTION_2": { "machineTypes": [ "MACHINE_TYPE_3", "MACHINE_TYPE_4", ... ], "rank": RANK_2 }, ... } } }
I gruppi di istanze gestite di zona non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un gruppo di istanze gestite in una zona singola, imposta la forma di distribuzione target su
ANY_SINGLE_ZONE
. Inoltre, se vuoi una zona specifica, utilizza la forma di distribuzioneANY_SINGLE_ZONE
e includi il campodistributionPolicy.zones[].zone
nella richiesta.Sostituisci quanto segue:
Aggiungi flessibilità dell'istanza a un gruppo di istanze gestite esistente
Puoi aggiungere flessibilità delle istanze a un gruppo MIG esistente. Se il gruppo di istanze gestite contiene già VM, devi rimuoverle ridimensionando il gruppo di istanze gestite a 0. Quindi, puoi impostare più tipi di macchina nel gruppo di istanze gestite. Puoi anche impostare preferenze per determinati tipi di macchine.
Se vuoi aggiungere una selezione di istanze a un criterio di flessibilità dell'istanza esistente, consulta Modificare la configurazione della flessibilità dell'istanza.
Imposta più tipi di macchina
gcloud
Per impostare più tipi di macchina in un gruppo di istanze gestite, utilizza comando
instance-groups managed update
beta.gcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --region REGION \ --size 0 \ --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...
Sostituisci quanto segue:
REST
Per impostare più tipi di macchine in un gruppo di istanze gestite, invia una richiesta
PATCH
al metodoregionInstanceGroupManagers.patch
beta.PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "targetSize": 0, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2" ... ] } } } }
Sostituisci quanto segue:
Impostare più tipi di macchine e preferenze
gcloud
Per impostare più tipi di macchina con preferenze in un gruppo di istanze gestite, utilizza comando
instance-groups managed update
betagcloud beta compute instance-groups managed update INSTANCE_GROUP_NAME \ --region REGION \ --size 0 \ --instance-selection "name=INSTANCE_SELECTION_1,machine-type=MACHINE_TYPE_1,machine-type=MACHINE_TYPE_2,rank=RANK_1" \ --instance-selection "name=INSTANCE_SELECTION_2,machine-type=MACHINE_TYPE_3,machine-type=MACHINE_TYPE_4,rank=RANK_2"
Sostituisci quanto segue:
REST
Per impostare più tipi di macchine con preferenze in un gruppo di istanze gestite, utilizza il metodo beta
regionInstanceGroupManagers.patch
.PATCH https://compute.googleapis.com/compute/beta/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME { "targetSize": 0, "instanceFlexibilityPolicy": { "instanceSelections": { "INSTANCE_SELECTION_1": { "machineTypes": [ "MACHINE_TYPE_1", "MACHINE_TYPE_2" ], "rank": RANK_1 }, "INSTANCE_SELECTION_2": { "machineTypes": [ "MACHINE_TYPE_3", "MACHINE_TYPE_4" ], "rank": RANK_2 } } } }
Sostituisci quanto segue:
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-10-14 UTC.
-