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 modello di istanza, necessario per creare un gruppo di istanze gestite.
  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è il processo mediante il quale la tua identità viene verificata per l'accesso a servizi e API di Google Cloud . Per eseguire codice o esempi da un ambiente di sviluppo locale, puoi autenticarti su Compute Engine selezionando una delle seguenti opzioni:

    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. After installing the Google Cloud CLI, initialize it by running the following command:

      gcloud init

      If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

    2. Set a default region and zone.
    3. Terraform

      Per utilizzare gli esempi di Terraform in 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.

      1. Install the Google Cloud CLI.
      2. If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

      3. To initialize the gcloud CLI, run the following command:

        gcloud init
      4. 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.

        If an authentication error is returned, and you are using an external identity provider (IdP), confirm that you have signed in to the gcloud CLI with your federated identity.

      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.

        After installing the Google Cloud CLI, initialize it by running the following command:

        gcloud init

        If you're using an external identity provider (IdP), you must first sign in to the gcloud CLI with your federated identity.

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

Crea un MIG con più tipi di macchina

Console

  1. Nella console Google Cloud , 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. Imposta una località:

      1. Scorri fino alla sezione Località e 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 o Qualsiasi zona singola.

      4. Nella finestra di dialogo visualizzata, fai clic su Disabilita ridistribuzione istanze.

    2. Elimina la configurazione della scalabilità automatica:

      1. Nella sezione Scalabilità automatica, fai clic su Elimina configurazione della scalabilità automatica nel menu a discesa Modalità di 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 istanza.

    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 aggiunto i tipi di macchina alla selezione istanza, 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 \
    --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: il nome del modello di istanza.
  • SHAPE: la forma di distribuzione target. Il valore può essere balanced o any-single-zone. Le altre forme di distribuzione target non sono supportate.
  • 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.
  • SHAPE: la forma di distribuzione target. Il valore può essere BALANCED o ANY_SINGLE_ZONE. Le altre forme di distribuzione target non sono supportate.
  • 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