Crea un MIG con VM preemptible

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

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

Prima di iniziare

  • 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 Trusted Cloud by S3NS . 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 Trusted Cloud console to access Trusted Cloud by S3NS services and APIs, you don't need to set up authentication.

    gcloud

    1. Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity. After signing in, initialize the Google Cloud CLI by running the following command:

      gcloud init
    2. Set a default region and zone.

    Terraform

    Per utilizzare gli esempi di Terraform in questa pagina in un ambiente di sviluppo locale, installa e inizializza gcloud CLI, quindi configura leCredenziali predefinite dell'applicazionee con le tue credenziali utente.

    1. Install the Google Cloud CLI.

    2. Configure the gcloud CLI to use your federated identity.

      For more information, see Sign in to the gcloud CLI with your federated identity.

    3. Create local authentication credentials for your user account:

      gcloud auth application-default login

      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, 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, devi utilizzare le credenziali che fornisci a gcloud CLI.

      Install the Google Cloud CLI, and then sign in to the gcloud CLI with your federated identity.

    Per saperne di più, consulta Autenticarsi per l'utilizzo di REST nella documentazione sull'autenticazione di Trusted Cloud .

Limitazioni

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

Crea un modello di istanza con VM preemptible

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

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

Console

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

    Vai a Template di istanza

    I passaggi rimanenti vengono visualizzati nella console Trusted Cloud .

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

gcloud

Crea un template 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 template di istanza globale. Per specificare l'opzione preemptible, includi il blocco scheduling. Per ulteriori informazioni sulla risorsa utilizzata nell'esempio, vedi la risorsa google_compute_instance_template. Per creare un template di istanza a livello di regione, 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 template 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 template di istanza, utilizzalo per creare un MIG con VM limitate a un'unica zona o con VM distribuite in più zone di una regione.

Passaggi successivi