Crea un MIG con più tipi di macchina

Questo documento descrive come creare un gruppo di istanze gestite (MIG) con flessibilità delle istanze, che consente di specificare più tipi di macchine nel MIG.

La flessibilità delle istanze contribuisce a migliorare l'ottenibilità delle risorse, in particolare per le applicazioni che possono funzionare su diversi tipi di macchine e che richiedono una capacità su larga scala o hardware a domanda elevata. Per saperne di più, consulta Informazioni sulla flessibilità delle istanze.

Puoi anche leggere altri scenari di base per la creazione di un MIG.

Prima di iniziare

Crea un MIG con più tipi di macchina

Console

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

    Vai a Gruppi di istanze

  2. Fai clic su Crea gruppo di istanze.

  3. Nel campo Nome, inserisci un nome per il MIG.

  4. Nell'elenco Modello di istanza, seleziona il modello da utilizzare per il MIG.

  5. Prima di poter specificare il Numero di istanze e aggiungere Selezioni di istanze, devi seguire questi passaggi:

    1. Vai alla sezione Località della pagina e imposta una località nel seguente modo:

      1. Seleziona Più zone.

      2. Nei menu a discesa Regioni e Zone, seleziona una regione e le zone in cui vuoi creare le VM del MIG. Se hai selezionato un modello di istanza a livello di regione, viene selezionata per impostazione predefinita la regione del modello.

      3. Nel campo Forma di distribuzione target, seleziona Bilanciata, Qualsiasi o Qualsiasi zona singola.

        • Se selezioni Bilanciata o Qualsiasi zona singola, nella finestra di dialogo che si apre, fai clic su Disattiva ridistribuzione istanze.

        • Se selezioni Qualsiasi, assicurati che la casella di controllo Consenti ridistribuzione istanze non sia selezionata.

    2. Vai alla sezione Scalabilità automatica della pagina ed elimina la configurazione della scalabilità automatica nel seguente modo:

      1. Nel menu a discesa Modalità di scalabilità automatica, fai clic su Elimina configurazione della scalabilità automatica.

      2. Nella finestra di dialogo che si apre, fai clic su Elimina.

    3. Scorri fino al campo Numero di istanze.

  6. Nel campo Numero di istanze, specifica il numero di VM che vuoi nel gruppo.

  7. Nella sezione Selezioni istanza, fai clic su Aggiungi selezioni.

    Si apre la finestra Selezioni istanza.

    1. Fai clic su Aggiungi selezione istanza.

    2. Nella sezione Nuova selezione istanza, segui questi passaggi:

      1. Nel campo Nome, inserisci un nome per la selezione istanza.

      2. Nella sezione Tipi di macchina, fai clic su Aggiungi tipo di macchina, seleziona un tipo di macchina da aggiungere alla selezione istanza, quindi fai clic su Fine.

        Ripeti questo passaggio per ogni tipo di macchina da aggiungere alla selezione istanza.

      3. Dopo aver completato l'aggiunta dei tipi di macchina, fai clic su Fine.

  8. Nella finestra Selezioni istanza, fai clic su Fine.

  9. Lascia invariate le impostazioni predefinite degli altri campi o modificale in base alle tue esigenze.

  10. Fai clic su Crea.

gcloud

Per creare un MIG a livello di regione con più tipi di macchina, utilizza il comando instance-groups managed create:

gcloud compute instance-groups managed create INSTANCE_GROUP_NAME \
    --region REGION \
    --size TARGET_SIZE \
    --template INSTANCE_TEMPLATE_URL \
    --target-distribution-shape SHAPE \
    --instance-redistribution-type none \
    --instance-selection-machine-types MACHINE_TYPE,MACHINE_TYPE,...

I MIG a livello di zona non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un MIG in una singola zona, imposta la forma di distribuzione target su any-single-zone. Inoltre, se vuoi indicare una zona specifica, utilizza la forma di distribuzione any-single-zone e includi il flag --zones ZONE.

Sostituisci quanto segue:

  • INSTANCE_GROUP_NAME: il nome del MIG.
  • REGION: la regione in cui vuoi creare il MIG.
  • TARGET_SIZE: il numero di VM che vuoi far creare e gestire dal MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze 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
  • SHAPE: la forma di distribuzione target. Il valore può essere balanced, any o any-single-zone.
  • MACHINE_TYPE: i tipi di macchina da configurare nel MIG, ad esempio n1-standard-16,n2-standard-16,e2-standard-16.

Terraform

Se non hai ancora creato un modello di istanza che specifichi le proprietà che deve avere ogni VM nel MIG, crea un modello di istanza.

Per creare un MIG a livello di regione con più tipi di macchina, utilizza la risorsa google_compute_region_instance_group_manager.

resource "google_compute_region_instance_group_manager" "default" {
  name               = "flex-igm"
  base_instance_name = "tf-test-flex-igm"
  region             = "us-central1"

  target_size                      = 3
  distribution_policy_target_shape = "ANY_SINGLE_ZONE"

  version {
    instance_template = google_compute_instance_template.default.id
  }

  instance_flexibility_policy {
    instance_selections {
      name          = "default-instance-selection"
      machine_types = ["n1-standard-16", "n2-standard-16", "e2-standard-16"]
    }
  }

  update_policy {
    instance_redistribution_type = "NONE"
    type                         = "OPPORTUNISTIC"
    minimal_action               = "REPLACE"
    max_surge_fixed              = 0
    max_unavailable_fixed        = 6
  }
}

Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.

REST

Per creare un MIG a livello di regione con più tipi di macchina, invia una richiesta POST al metodo regionInstanceGroupManagers.insert.

POST https://compute.googleapis.com/compute/v1/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 MIG a livello di zona non supportano la flessibilità delle istanze. Tuttavia, se vuoi creare un MIG in una singola zona, imposta la forma di distribuzione target su ANY_SINGLE_ZONE. Inoltre, se vuoi indicare una zona specifica, utilizza la forma di distribuzione ANY_SINGLE_ZONE e includi il campo distributionPolicy.zones[].zone nella richiesta.

Sostituisci quanto segue:

  • PROJECT_ID: il tuo ID progetto.
  • REGION: la regione in cui vuoi creare il MIG.
  • INSTANCE_GROUP_NAME: il nome del MIG.
  • TARGET_SIZE: il numero di VM che vuoi far creare e gestire dal MIG.
  • INSTANCE_TEMPLATE_URL: l'URL del modello di istanza che vuoi utilizzare per creare istanze 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
  • SHAPE: la forma di distribuzione target. Il valore può essere BALANCED, ANY o ANY_SINGLE_ZONE.
  • INSTANCE_SELECTION: il nome dell'elenco di tipi di macchina.
  • MACHINE_TYPE: i tipi di macchina da configurare nel MIG, ad esempio "n1-standard-16","n2-standard-16","e2-standard-16".

Passaggi successivi