Criar um MIG que use VMs preemptivas,Criar um MIG que use VMs preemptivas


Este documento descreve como criar um grupo de instâncias gerenciadas (MIG) que usa instâncias de máquina virtual (VM) preemptivas. As VMs preemptivas são úteis se a sua carga de trabalho puder tolerar interrupções e você quiser aproveitar a economia de custos associada às VMs preemptivas.

Você também pode ler sobre outros cenários básicos para criar um MIG .

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    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

      Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.

      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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      Confira mais informações em Set up authentication for a local development environment.

      REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Limitações

Para ver a lista completa de limitações do MIG, que varia de acordo com a configuração usada, consulte Limitações do MIG .

Crie um modelo de instância com VMs preemptivas

Você pode usar um MIG zonal ou regional para criar rapidamente várias VMs preemptivas , o que pode reduzir os custos das VMs em seus grupos de instâncias gerenciadas. Por exemplo, você pode criar um grupo de VMs preemptivas, usá-las para executar uma tarefa de processamento em lote e, em seguida, excluir o grupo quando a tarefa for concluída.

Para criar um grupo de VMs preemptivas, defina a opção preemptiva em um modelo de instância e use o modelo para criar o MIG.

Console

  1. No console, acesse a página Modelos de instância .

    Vá para modelos de instância

    As etapas restantes aparecem no console do Google Cloud.

  2. Clique Criar modelo de instância .
  3. Preencha as propriedades desejadas para seu modelo de instância.
  4. Clique Opções avançadas e expanda a seção Gerenciamento .
  5. Em Política de disponibilidade , no Modelo de provisionamento de VM lista, escolha Spot .
  6. Clique Criar para criar o modelo.

gcloud

Crie um modelo de instância usando o comando instance-templates create . Inclua o sinalizador --preemptible .

gcloud compute instance-templates create INSTANCE_TEMPLATE \
    --preemptible

Terraforma

O exemplo a seguir cria um modelo de instância global. Para fornecer a opção preemptiva, inclua o bloco scheduling . Para obter mais informações sobre o recurso usado no exemplo, consulte recurso google_compute_instance_template . Para criar um modelo de instância regional, use o recurso 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"
  }
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .

DESCANSAR

Chame o método instanceTemplates.insert para criar um novo modelo de instância. Inclua a propriedade scheduling.preemptible e defina-a como 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"
      }
    }
  ]
  }
}

Depois de criar o modelo de instância, use-o para criar um MIG com VMs confinadas a uma única zona ou com VMs espalhadas por diversas zonas em uma região .

O que vem a seguir

,

Este documento descreve como criar um grupo de instâncias gerenciadas (MIG) que usa instâncias de máquina virtual (VM) preemptivas. As VMs preemptivas são úteis se a sua carga de trabalho puder tolerar interrupções e você quiser aproveitar a economia de custos associada às VMs preemptivas.

Você também pode ler sobre outros cenários básicos para criar um MIG .

Antes de começar

  • Se ainda não o fez, configure a autenticação. Autenticação é o processo pelo qual sua identidade é verificada para acesso a Google Cloud serviços e APIs. Para executar códigos ou amostras em um ambiente de desenvolvimento local, você pode se autenticar no Compute Engine selecionando uma das seguintes opções:

    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

      Para usar os exemplos do Terraform nesta página em um ambiente de desenvolvimento local, instale e inicialize a gcloud CLI e, em seguida, configure o Application Default Credentials com suas credenciais de usuário.

      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, confirm that you have configured the gcloud CLI to use Workforce Identity Federation.

      Confira mais informações em Set up authentication for a local development environment.

      REST

      Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para 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.

      Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.

Limitações

Para ver a lista completa de limitações do MIG, que varia de acordo com a configuração usada, consulte Limitações do MIG .

Crie um modelo de instância com VMs preemptivas

Você pode usar um MIG zonal ou regional para criar rapidamente várias VMs preemptivas , o que pode reduzir os custos das VMs em seus grupos de instâncias gerenciadas. Por exemplo, você pode criar um grupo de VMs preemptivas, usá-las para executar uma tarefa de processamento em lote e, em seguida, excluir o grupo quando a tarefa for concluída.

Para criar um grupo de VMs preemptivas, defina a opção preemptiva em um modelo de instância e use o modelo para criar o MIG.

Console

  1. No console, acesse a página Modelos de instância .

    Vá para modelos de instância

    As etapas restantes aparecem no console do Google Cloud.

  2. Clique Criar modelo de instância .
  3. Preencha as propriedades desejadas para seu modelo de instância.
  4. Clique Opções avançadas e expanda a seção Gerenciamento .
  5. Em Política de disponibilidade , no Modelo de provisionamento de VM lista, escolha Spot .
  6. Clique Criar para criar o modelo.

gcloud

Crie um modelo de instância usando o comando instance-templates create . Inclua o sinalizador --preemptible .

gcloud compute instance-templates create INSTANCE_TEMPLATE \
    --preemptible

Terraforma

O exemplo a seguir cria um modelo de instância global. Para fornecer a opção preemptiva, inclua o bloco scheduling . Para obter mais informações sobre o recurso usado no exemplo, consulte recurso google_compute_instance_template . Para criar um modelo de instância regional, use o recurso 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"
  }
}

Para saber como aplicar ou remover uma configuração do Terraform, consulte Comandos básicos do Terraform .

DESCANSAR

Chame o método instanceTemplates.insert para criar um novo modelo de instância. Inclua a propriedade scheduling.preemptible e defina-a como 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"
      }
    }
  ]
  }
}

Depois de criar o modelo de instância, use-o para criar um MIG com VMs confinadas a uma única zona ou com VMs espalhadas por diversas zonas em uma região .

O que vem a seguir