Cree un MIG con el escalado automático habilitado


Este documento describe cómo crear un grupo de instancias administrado (MIG) con escalamiento automático que agrega y elimina automáticamente VM según la utilización promedio de CPU en todo el grupo. Por ejemplo, si la utilización de CPU del grupo es baja, el grupo elimina automáticamente las máquinas virtuales para ahorrar costos.

Puede escalar automáticamente un MIG basándose en varios tipos de señales de escalado automático. Para obtener más información, consulte la descripción general del escalador automático .

También puedes leer sobre otros escenarios básicos para crear un MIG .

Antes de comenzar

  • Cree una plantilla de instancias , que es necesaria para crear un grupo de instancias administrado.
  • Si aún no lo has hecho, configura la autenticación. La autenticación es el proceso mediante el cual se verifica su identidad para acceder a Google Cloud servicios y API. Para ejecutar código o muestras desde un entorno de desarrollo local, puedes autenticarte en Compute Engine seleccionando una de las siguientes opciones:

    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 las muestras de Terraform de esta página en un entorno de desarrollo local, instala e inicializa gcloud CLI y, luego, configura las credenciales predeterminadas de la aplicación con tus credenciales de usuario.

      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.

      Para obtener más información, consulta Set up authentication for a local development environment.

      REST

      Para usar las muestras de la API de REST en esta página en un entorno de desarrollo local, debes usar las credenciales que proporcionas a la CLI de gcloud.

        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 obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud .

Limitaciones

Para ver la lista completa de limitaciones de MIG, que varía según la configuración que utilice, consulte Limitaciones de MIG .

Cree un MIG y habilite el escalado automático

Utilice la consola de Google Cloud , la CLI de gcloud , Terraform o REST .

Consola

  1. En la consola, vaya a la página Grupos de instancias .

    Ir a grupos de instancias

    Los pasos restantes aparecen en la consola de Google Cloud.

  2. Si tiene un grupo de instancias, selecciónelo y haga clic en Editar . Si no tienes un grupo de instancias, haz clic en Crear grupo de instancias .
  3. Para un nuevo grupo de instancias, asigna un nombre y luego elige una plantilla de instancias para el grupo de instancias o crea una nueva .
  4. Si no existe ninguna configuración de escalado automático, en Escalado automático , haga clic en Configurar escalado automático .
  5. Bajo Modo de escala automática , seleccione Activado: agregar y eliminar instancias al grupo para habilitar el escalado automático.
  6. Especifique el número mínimo y máximo de instancias que desea que el escalador automático cree en este grupo.
  7. En la sección Métricas de escalado automático , si aún no existe una métrica de utilización de CPU existente, agregue una:
    1. Hacer clic Agregar métrica .
    2. Bajo Tipo de métrica , seleccione Utilización de CPU .
    3. Ingrese la utilización de CPU de destino que desee. Este valor se trata como un porcentaje. Por ejemplo, para una utilización de CPU del 75 %, ingrese 75 .
    4. En Escala automática predictiva , seleccione Apagado . Para obtener más información sobre el escalado automático predictivo y si es adecuado para su carga de trabajo, consulte Escalado basado en predicciones .
    5. Haga clic en Listo .
  8. Puede utilizar el período de inicialización para establecer el período de inicialización, que le indica al escalador automático cuánto tiempo tarda su aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones del escalador automático. Por ejemplo, al escalar horizontalmente, el escalador automático ignora los datos de las máquinas virtuales que aún se están inicializando porque es posible que esas máquinas virtuales aún no representen el uso normal de su aplicación. El período de inicialización predeterminado es de 60 segundos.
  9. Para crear el MIG, haga clic en Crear .

nube de gcloud

Antes de poder habilitar el ajuste de escala automático, debe crear un MIG. Siga las instrucciones para crear un MIG con máquinas virtuales confinadas a una sola zona o cree un MIG con máquinas virtuales distribuidas en varias zonas de una región .

Luego use el subcomando set-autoscaling para habilitar el escalado automático para el grupo. Por ejemplo, el siguiente comando crea un escalador automático que tiene una utilización de CPU objetivo del 60 %. Junto con el parámetro --target-cpu-utilization , el parámetro --max-num-replicas también es necesario al crear un escalador automático.

Opcionalmente, puede configurar --min-num-replicas que indica la cantidad mínima de VM que desea en el grupo. Si no establece el mínimo, de forma predeterminada, MIG establece este valor en 2.

Puede utilizar el indicador --cool-down-period para establecer el período de inicialización, que le indica al escalador automático cuánto tiempo tarda su aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones del escalador automático. Por ejemplo, al escalar horizontalmente, el escalador automático ignora los datos de las máquinas virtuales que aún se están inicializando porque es posible que esas máquinas virtuales aún no representen el uso normal de su aplicación. El período de inicialización predeterminado es de 60 segundos.

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
  --max-num-replicas 20 \
  --target-cpu-utilization 0.60 \
  --cool-down-period 90

Si lo desea, puede habilitar el escalado automático predictivo para escalar horizontalmente antes de la carga prevista. Para saber si el escalado automático predictivo es adecuado para su carga de trabajo, consulte Escalado basado en predicciones .

Puede verificar que el ajuste de escala automático esté habilitado correctamente utilizando el comando instance-groups managed describe , que describe el MIG correspondiente y proporciona información sobre las funciones de ajuste de escala automático para ese grupo:

gcloud compute instance-groups managed describe example-managed-instance-group

Terraformar

Antes de poder habilitar el ajuste de escala automático, debe crear un MIG. Siga las instrucciones para crear un MIG con máquinas virtuales confinadas a una sola zona o cree un MIG con máquinas virtuales distribuidas en varias zonas de una región .

Para configurar el escalado automático en un MIG, puede utilizar el recurso google_compute_autoscaler .

El siguiente ejemplo configura el escalado automático según la utilización de la CPU en un MIG zonal.

resource "google_compute_autoscaler" "default" {
  name   = "example-autoscaler"
  zone   = "us-central1-f"
  target = google_compute_instance_group_manager.default.id

  autoscaling_policy {
    max_replicas    = 20
    min_replicas    = 0
    cooldown_period = 90

    cpu_utilization {
      target = 0.60
    }
  }
}

Para aprender cómo aplicar o eliminar una configuración de Terraform, consulte Comandos básicos de Terraform .

DESCANSAR

Antes de poder habilitar el escalado automático, debe crear un MIG con máquinas virtuales confinadas a una sola zona o crear un MIG con máquinas virtuales distribuidas en varias zonas de una región .

Si tiene un MIG zonal, realice una solicitud POST al método autoscalers.insert . Si tiene un MIG regional, utilice el método regionAutoscalers.insert .

Por ejemplo:

POST https://compute.googleapis.com/compute/v1/projects/PROJECT_ID/zones/ZONE/autoscalers/

El cuerpo de su solicitud debe contener los campos name , target y autoscalingPolicy . El campo autoscalingPolicy debe definir el valor cpuUtilization de destino y el valor maxNumReplicas .

Opcionalmente, puede configurar minNumReplicas indicando la cantidad mínima de VM que desea en el grupo. Si no establece el mínimo, de forma predeterminada, MIG establece este valor en 2.

Puede utilizar el campo coolDownPeriodSec para establecer el período de inicialización, que le indica al escalador automático cuánto tiempo tarda su aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones del escalador automático. Por ejemplo, al escalar horizontalmente, el escalador automático ignora los datos de las máquinas virtuales que aún se están inicializando porque es posible que esas máquinas virtuales aún no representen el uso normal de su aplicación. El período de inicialización predeterminado es de 60 segundos.

{
  "name": "example-autoscaler",
  "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-f/instanceGroupManagers/example-managed-instance-group",
  "autoscalingPolicy": {
    "maxNumReplicas": 10,
    "cpuUtilization": {
      "utilizationTarget": 0.6
    },
    "coolDownPeriodSec": 90
  }
}

Si lo desea, puede habilitar el escalado automático predictivo para escalar horizontalmente antes de la carga prevista. Para saber si el escalado automático predictivo es adecuado para su carga de trabajo, consulte Escalado basado en predicciones .

Para obtener más información sobre cómo habilitar el escalado automático según la utilización de la CPU, consulte Escalado según la utilización de la CPU .

¿Qué sigue?