Imposta una forma di distribuzione di destinazione per le VM in un gruppo di istanze gestite a livello di regione

Se utilizzi un gruppo di istanze gestite a livello di regione, puoi impostare il gruppo di istanze gestite forma di distribuzione target a una delle seguenti opzioni:

  • EVEN (impostazione predefinita): il gruppo crea ed elimina le VM in raggiungere e mantenere lo stesso numero di VM nell'ambito diverse. In una distribuzione EVEN, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per carichi di lavoro di distribuzione ad alta disponibilità.
  • Bilanciata: il gruppo dà priorità alla creazione di VM. in zone in cui sono disponibili risorse, distribuendo al contempo le VM possibili nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
  • ANY: il gruppo sceglie le zone per la creazione di istanze VM al fine di soddisfare le di macchine virtuali entro gli attuali vincoli delle risorse e per massimizzare di prenotazioni di zona inutilizzate. Consigliata per carichi di lavoro batch non richiedono l'alta disponibilità.
  • QUALSIASI ZONA SINGOLA: il gruppo crea tutte le istanze VM all'interno di una in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in in combinazione con istanza compatta criterio di posizionamento per 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 un'istanza con lo stesso nome in ogni zona applicabile. Poi scegli come target questi delle prenotazioni per nome nel modello di istanza del gruppo.

Per aiutarti a scegliere una forma, consulta tabella di confronto, casi d'uso, e come funzionano le forme di distribuzione.

Imposta una forma di distribuzione di destinazione quando creazione del gruppo di istanze gestite a livello di regione o aggiorna la forma target di un gruppo di istanze gestite a livello di regione esistente.

Prima di iniziare

  • 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

    1. Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

      gcloud init
    2. Set a default region and zone.
    3. 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.

      1. Installa Google Cloud CLI.
      2. Per initialize gcloud CLI, esegui questo comando:

        gcloud init
      3. Crea credenziali di autenticazione locali per il tuo Account Google:

        gcloud auth application-default login

      Per ulteriori informazioni, vedi 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, utilizzi le credenziali che fornisci a gcloud CLI.

        Installa Google Cloud CLI, quindi initialize eseguendo questo comando:

        gcloud init

      Per ulteriori informazioni, vedi Esegui l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

  • Puoi selezionare le zone per il gruppo di istanze gestite solo quando crei il gruppo di istanze gestite.
  • Se specifichi le risorse nel modello di istanza stateful o nel modello di istanza del gruppo di istanze gestite non disponibili in tutte le zone selezionate, viene applicato quanto segue si applicano limitazioni:

    • Devi impostare il parametro forma di distribuzione target a BALANCED, ANY o ANY_SINGLE_ZONE.
    • Devi assicurarti che tutte le risorse richieste dal gruppo di istanze gestite, ad esempio, dischi, tipi di macchine o GPU esistenti. Sono disponibili in almeno uno delle zone selezionate.
    • Se vuoi aggiornare la configurazione del gruppo di istanze gestite (ad esempio, modello) a una configurazione che non può essere creata in tutti i file selezionati zone, devi rimuovi istanze gestite da tutte le zone non supportate prima di impostare la nuova configurazione.
  • Per impostare la forma di distribuzione di destinazione su BALANCED o ANY_SINGLE_ZONE: devi disabilitare ridistribuzione proattiva delle istanze.

  • Se vuoi scalare automaticamente un gruppo di istanze gestite a livello di regione, devi impostare il valore forma di distribuzione target su BALANCED (Anteprima) o EVEN.
  • Se imposti la forma di distribuzione di destinazione su BALANCED, ANY o ANY_SINGLE_ZONE, si applicano le seguenti limitazioni:

    • Canary aggiornamenti con due versioni non sono supportati.
    • In caso di disponibilità limitata delle risorse richieste in tutto regione, il gruppo potrebbe pianificare la creazione di istanze VM in una zona in cui risorse non sono già disponibili. Puoi provare a diminuire e aumentare dimensione del gruppo per ottenere le risorse richieste in altre zone.
    • Aggiornamenti in sequenza che utilizzano SUBSTITUTE metodo di sostituzione proverà a creare le nuove istanze aggiornate nella stessa zona del di macchine obsolete, anche se la zona non ha risorse per i requisiti della nuova versione. Per mediare questo comportamento, puoi Elimina le VM obsolete dalla zona vincolata, quindi aumenta il gruppo in base al numero di VM eliminate. Il gruppo crea le istanze il modello più recente nelle zone in cui è disponibile capacità.
    • Se vuoi aggiornare il modello di istanza del gruppo con un modello che specifica le risorse che non sono disponibili in tutte le zone selezionate, devi rimuovi le istanze gestite da zone non supportate prima di impostare il nuovo modello.
  • Se imposti la forma di distribuzione di destinazione su ANY_SINGLE_ZONE e il gruppo ha VM esistenti in una singola zona, puoi creare VM aggiuntive in quella zona . Se vuoi utilizzare una zona diversa, devi prima fare lo scale in gruppo fino a zero VM.

  • Per 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 il tuo nodo nelle stesse zone delle 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.

Creazione di un gruppo con una forma di distribuzione di destinazione

Per creare il gruppo, selezionane le zone e imposta la forma di distribuzione target, Utilizza la console Google Cloud , il gcloud CLI Terraform, o REST.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai alla pagina Gruppi di istanze

  2. Fai clic su Crea gruppo di istanze per creare un nuovo gruppo di istanze.
  3. Seleziona una delle opzioni per i gruppo di istanze gestite gestite: stateless (impostazione predefinita) o stateful.
  4. Assegna un nome e, facoltativamente, una descrizione al gruppo di istanze.
  5. Scegli un modello di istanza per il gruppo di istanze o creane uno nuovo.
  6. Specifica il numero di VM per questo gruppo. Per carichi di lavoro ad alta disponibilità, ricordati di provisioning di VM a sufficienza per supportare la tua applicazione in caso di errore di una zona.
  7. In Località, seleziona Più zone.
  8. Scegli un'area geografica e seleziona le zone che vuoi utilizzare.

    • Se vuoi che il gruppo di istanze gestite possa utilizzare tutte le zone della regione, seleziona per tutte le zone disponibili.
    • Tieni presente che non puoi aggiornare un gruppo di istanze gestite a livello di regione per utilizzare zone diverse dopo durante la creazione.
  9. Scegli una forma di distribuzione di destinazione.

    1. Se vuoi selezionare Qualsiasi o Qualsiasi zona singola, Nella sezione Scalabilità automatica, fai clic su Modalità di scalabilità automatica e Scegli Elimina configurazione scalabilità automatica.
    2. Se vuoi selezionare Qualsiasi zona singola o Bilanciata, nella Ridistribuzione istanze, non selezionare Consenti ridistribuzione istanze.
  10. Continua con il resto della procedura di creazione del gruppo di istanze gestite.

gcloud

Utilizza la 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:

  • INSTANCE_GROUP_NAME: il nome dell'istanza gruppo.
  • TEMPLATE: il nome del modello di istanza da utilizzare per il gruppo.
  • SIZE: la dimensione target del gruppo di istanze.
  • REGION: la regione in cui vuoi creare il gruppo.
  • ZONES (facoltativo): un elenco di zone nella 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 possa usare tutte le zone della regione, e specificare tutte le zone disponibili. È possibile ottenere un elenco di 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: forma di distribuzione di destinazione. Può essere uno dei seguenti valori:

    • even (predefinito): il gruppo crea ed elimina le VM in raggiungere e mantenere lo stesso numero di VM nell'ambito diverse. In una distribuzione EVEN, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per carichi di lavoro di distribuzione ad alta disponibilità.
    • balanced: il gruppo dà la priorità alla creazione di VM in zone in cui sono disponibili risorse, distribuendo al contempo le VM possibili nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
    • any: il gruppo sceglie le zone per la creazione di istanze VM al fine di soddisfare le di macchine virtuali entro gli attuali vincoli delle risorse e per massimizzare di prenotazioni di zona inutilizzate. Consigliata per carichi di lavoro batch non richiedono l'alta disponibilità.
    • any-single-zone: il gruppo crea tutte le istanze VM in un in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in in combinazione con istanza compatta criterio di posizionamento per carichi di lavoro che richiedono una comunicazione estesa tra le VM.

Ad esempio, per creare un gruppo di istanze gestite a livello di regione con un target bilanciato forma di distribuzione, imposta il flag --target-distribution-shape su balanced.

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, che specifica tipo di macchina, immagine disco di avvio, rete e altre proprietà VM per ogni VM nel gruppo di istanze gestite, crea un modello di istanza.

Per creare un gruppo di istanze gestite a livello di regione, utilizza google_compute_region_instance_group_manager risorsa.

Nell'esempio seguente viene creato un gruppo di istanze gestite a livello di regione con target BALANCED forma di distribuzione.

resource "google_compute_region_instance_group_manager" "default" {
  name                             = "example-rmig"
  region                           = "us-east1"
  distribution_policy_zones        = ["us-east1-b", "us-east1-c"]
  distribution_policy_target_shape = "BALANCED"
  update_policy {
    type                         = "PROACTIVE"
    minimal_action               = "REFRESH"
    instance_redistribution_type = "NONE"
    max_unavailable_fixed        = 3
  }
  target_size        = 30
  base_instance_name = "instance"
  version {
    instance_template = google_compute_instance_template.default.id
  }
}

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 impostane la targetShape.

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:

  • PROJECT_ID: l'ID progetto per questa richiesta.
  • REGION: la regione per il gruppo di istanze.
  • INSTANCE_GROUP_NAME: il nome dell'istanza gruppo.
  • TEMPLATE: il nome del modello di istanza da per il gruppo di istanze.
  • SIZE: la dimensione target del gruppo di istanze.
  • ZONE: il nome di una zona nella regione in cui per eseguire il deployment delle istanze VM.
    • Se vuoi che il gruppo di istanze gestite possa usare tutte le zone della regione, e specificare tutte le zone disponibili. È possibile ottenere un elenco di zone chiamando il metodo 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.
  • SHAPE: forma di distribuzione di destinazione. Può essere uno dei seguenti valori:
    • EVEN (predefinito): il gruppo crea ed elimina le VM in raggiungere e mantenere lo stesso numero di VM nell'ambito diverse. In una distribuzione EVEN, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per carichi di lavoro di distribuzione ad alta disponibilità.
    • BALANCED: il gruppo dà la priorità alla creazione di VM in zone in cui sono disponibili risorse, distribuendo al contempo le VM possibili nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
    • ANY: il gruppo sceglie le zone per la creazione di istanze VM al fine di soddisfare le di macchine virtuali entro gli attuali vincoli delle risorse e per massimizzare di prenotazioni di zona inutilizzate. Consigliata per carichi di lavoro batch non richiedono l'alta disponibilità.
    • ANY_SINGLE_ZONE: il gruppo crea tutte le istanze VM in un in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in in combinazione con istanza compatta criterio di posizionamento per carichi di lavoro che richiedono una comunicazione estesa tra le VM.

Modifica della forma di distribuzione di destinazione di un gruppo esistente

Puoi modificare forma di distribuzione target in un gruppo di istanze gestite a livello di regione esistente, ma con le seguenti limitazioni:

  • Se vuoi modificare la forma di distribuzione di destinazione in BALANCED, devi: prima disabilita la ridistribuzione proattiva.
  • Se vuoi modificare la forma di distribuzione di destinazione in EVEN e se il la distribuzione attuale delle istanze non è uniforme. Devi prima disabilitare la distribuzione ridistribuzione del prodotto.
  • Se modifichi la forma impostandola su EVEN e vuoi riattivare le azioni proattive ridistribuzione, devi prima ribilanciare manualmente il gruppo.
  • Se vuoi modificare la forma di distribuzione di destinazione in EVEN, ma del modello di istanza specifica le risorse che non sono supportate in tutte le risorse selezionate devi prima aggiornare il modello di istanza del gruppo in uno che sia supportate in tutte le zone selezionate.

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai alla pagina Gruppi di istanze

  2. Nella colonna Nome dell'elenco, fai clic sul nome dell'istanza. di destinazione in cui modificare la forma di distribuzione di destinazione.
  3. Fai clic su Modifica per modificare questo gruppo di istanze gestite.
  4. In Forma di distribuzione target, specifica la forma che preferisci.
  5. Fai clic su Salva per applicare il nuovo modello.

gcloud

Utilizza la 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:

  • INSTANCE_GROUP_NAME: il nome dell'istanza gruppo.
  • SHAPE: forma di distribuzione di destinazione. Può essere uno dei seguenti valori:
    • even (predefinito): il gruppo crea ed elimina le VM in raggiungere e mantenere lo stesso numero di VM nell'ambito diverse. In una distribuzione EVEN, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per carichi di lavoro di distribuzione ad alta disponibilità.
    • balanced: il gruppo dà la priorità alla creazione di VM in zone in cui sono disponibili risorse, distribuendo al contempo le VM possibili nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
    • any: il gruppo sceglie le zone per la creazione di istanze VM al fine di soddisfare le di macchine virtuali entro gli attuali vincoli delle risorse e per massimizzare di prenotazioni di zona inutilizzate. Consigliata per carichi di lavoro batch non richiedono l'alta disponibilità.
    • any-single-zone: il gruppo crea tutte le istanze VM in un in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in in combinazione con istanza compatta criterio di posizionamento per carichi di lavoro che richiedono una comunicazione estesa tra le VM.

REST

Chiama il metodo regionInstanceGroupManagers.patch. Nel corpo della richiesta, includi il parametro distributionPolicy e imposta il relativo campo targetShape.

PATCH https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

{
    "distributionPolicy": {
        "targetShape": "SHAPE"
    }
}

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per questa richiesta.
  • REGION: la regione per il gruppo di istanze.
  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze.
  • SHAPE: forma di distribuzione di destinazione. Può essere uno dei seguenti valori:
    • EVEN (predefinito): il gruppo crea ed elimina le VM in raggiungere e mantenere lo stesso numero di VM nell'ambito diverse. In una distribuzione EVEN, il numero di VM non differisce di più di 1 tra due zone qualsiasi. Consigliato per carichi di lavoro di distribuzione ad alta disponibilità.
    • BALANCED: il gruppo dà la priorità alla creazione di VM in zone in cui sono disponibili risorse, distribuendo al contempo le VM possibili nelle zone selezionate per ridurre al minimo l'impatto degli errori a livello di zona. Consigliato per carichi di lavoro batch o di distribuzione ad alta disponibilità.
    • ANY: il gruppo sceglie le zone per la creazione di istanze VM al fine di soddisfare le di macchine virtuali entro gli attuali vincoli delle risorse e per massimizzare di prenotazioni di zona inutilizzate. Consigliata per carichi di lavoro batch non richiedono l'alta disponibilità.
    • ANY_SINGLE_ZONE: il gruppo crea tutte le istanze VM in un in una singola zona. La zona viene scelta in base al supporto hardware, agli attuali disponibilità di risorse e quote e prenotazioni corrispondenti. Consigliato in in combinazione con istanza compatta criterio di posizionamento per carichi di lavoro che richiedono una comunicazione estesa tra le VM.

Visualizzazione del criterio di distribuzione dell'istanza configurato

Console

  1. Nella console Google Cloud, vai alla pagina Gruppi di istanze.

    Vai alla pagina Gruppi di istanze

    Se esistono già gruppi di istanze, questi vengono elencati nella pagina.
  2. Fai clic sul nome del gruppo di istanze da esaminare. Una pagina con le proprietà del gruppo di istanze e un elenco di istanze sono inclusi nel gruppo.
  3. Fai clic su Dettagli.
  4. Nella sezione Località, cerca Forma di distribuzione target.

gcloud

Esegui l' 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 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 Metodo regionInstanceGroupManagers.get.

GET https://www.googleapis.com/compute/v1/projects/PROJECT_ID/regions/REGION/instanceGroupManagers/INSTANCE_GROUP_NAME

Sostituisci quanto segue:

  • PROJECT_ID: l'ID progetto per questa richiesta
  • REGION: la regione per il gruppo di istanze
  • INSTANCE_GROUP_NAME: il nome del gruppo di istanze

La forma di distribuzione target viene restituita campo distributionPolicy.targetShape. Ad esempio:

{
  "name": "my-instance-group",
  "distributionPolicy": {
    "targetShape": "BALANCED",
  },
  "targetSize": 50,
  ...
}

Passaggi successivi