Creare un gruppo di istanze gestite che utilizza VM prerilasciabili


Questo documento descrive come creare un gruppo di istanze gestite che utilizza istanze di macchine virtuali (VM) prerilasciabili. Le VM prerilasciabili sono utili se il tuo carico di lavoro può tollerare le interruzioni e vuoi sfruttare i risparmi sui costi associati alle VM prerilasciabili.

Puoi anche leggere altri scenari di base per la creazione di un gruppo di istanze gestite.

Prima di iniziare

  • Se non l'hai ancora fatto, configura l'autenticazione. L'autenticazione è la procedura mediante la quale la tua identità viene verificata per l'accesso alle API e ai servizi 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    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. To initialize the gcloud CLI, run the following command:

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

      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 saperne di più, consulta Eseguire l'autenticazione per l'utilizzo di REST nella documentazione sull'autenticazione di Google Cloud.

Limitazioni

Per visualizzare l'elenco completo delle limitazioni dei gruppi di istanze gestite, che varia in base alla configurazione utilizzata, consulta Limitazioni dei gruppi di istanze gestite.

Crea un modello di istanza con VM prerilasciabili

Puoi utilizzare un gruppo di istanze gestite di zona o regionale per creare rapidamente più VM prerilasciabili, il che può ridurre i costi delle VM nei gruppi di istanze gestite. Ad esempio, puoi creare un gruppo di VM prerilasciabili, utilizzarle per eseguire un'attività di elaborazione batch e poi eliminare il gruppo al termine dell'attività.

Per creare un gruppo di VM prerilasciabili, imposta l'opzione preemptible in un modello di istanza, quindi utilizza il modello per creare il gruppo di istanze gestite.

Console

  1. Nella console, vai alla pagina Modelli di istanza.

    Vai a Modelli di istanza

    I passaggi rimanenti vengono visualizzati nella console Google Cloud.

  2. Fai clic su Crea modello istanza.
  3. Inserisci le proprietà per il modello di istanza.
  4. Fai clic su Opzioni avanzate ed espandi la sezione Gestione.
  5. In Criterio di disponibilità, nell'elenco Modello di provisioning delle VM, scegli Spot.
  6. Fai clic su Crea per creare il modello.

gcloud

Crea un modello di istanza utilizzando il comando instance-templates create. Includi il flag --preemptible.

gcloud compute instance-templates create INSTANCE_TEMPLATE \
    --preemptible

Terraform

L'esempio seguente crea un modello di istanza globale. Per fornire l'opzione preemitiva, includi il blocco scheduling. Per ulteriori informazioni sulla risorsa utilizzata nel Sample, consulta la risorsa google_compute_instance_template. Per creare un modello di istanza regionale, utilizza la risorsa google_compute_region_instance_template.

resource "google_compute_instance_template" "default" {
  name         = "preemptible-template"
  machine_type = "n1-standard-1"
  disk {
    source_image = "debian-cloud/debian-11"
  }
  network_interface {
    network = "default"
  }
  scheduling {
    preemptible       = "true"
    automatic_restart = "false"
  }
}

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

REST

Chiama il metodo instanceTemplates.insert per creare un nuovo modello di istanza. Includi la proprietà scheduling.preemptible e impostala su true.

{
"name": "INSTANCE_TEMPLATE",
"properties": {
  "machineType": "zones/ZONE/machineTypes/MACHINE_TYPE",
  "networkInterfaces": [
    {
      "network": "global/networks/default",
      "accessConfigs":
      [
        {
          "name": "external-IP",
          "type": "ONE_TO_ONE_NAT"
        }
      ]
    }
  ],
  "scheduling":
  {
    "preemptible": true
  },
  "disks":
  [
    {
      "type": "PERSISTENT",
      "boot": true,
      "mode": "READ_WRITE",
      "initializeParams":
      {
        "sourceImage": "projects/debian-cloud/global/images/family/debian-9"
      }
    }
  ]
  }
}

Dopo aver creato il modello di istanza, utilizzalo per creare un gruppo di istanze gestite con VM limitate a una singola zona o con VM distribuite in più zone di una regione.

Passaggi successivi