Escalamiento según el uso de CPU


La forma más simple de realizar el ajuste de escala automático consiste en escalar un grupo de instancias administrado (MIG) en función del uso de CPU de sus instancias.

También puedes escalar automáticamente un MIG en función de la capacidad de entrega del balanceo de cargas, las métricas de Monitoring o los programas.

Antes de comenzar

  • Revisa las limitaciones del escalador automático.
  • Lee acerca de los aspectos básicos del escalador automático.
  • Si aún no lo hiciste, configura la autenticación. La autenticación es el proceso mediante el cual se verifica tu identidad para acceder a los servicios y las API de Google Cloud. 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. Install the Google Cloud CLI, then initialize it by running the following command:

      gcloud init
    2. Set a default region and zone.
    3. 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.

        Install the Google Cloud CLI, then initialize it by running the following command:

        gcloud init

      Si deseas obtener más información, consulta Autentica para usar REST en la documentación de autenticación de Google Cloud.

Escalamiento según el uso de CPU

Puedes ajustar la escala de forma automática en función del uso de CPU promedio de un grupo de instancias administrado (MIG). El uso de esta política le indica al escalador automático que recopile el uso de CPU de las instancias en el grupo y determine si necesita escalar. Estableces el uso objetivo de CPU que debe mantener el escalador automático y este funciona para mantenerlo.

El escalador automático considera el nivel de uso objetivo de CPU como una fracción del uso promedio de todas las CPU virtuales a lo largo del tiempo en el grupo de instancias. Si el uso promedio del total de las CPU virtuales supera el uso objetivo, el escalador automático agregará más instancias de VM. Si el uso promedio del total de las CPU virtuales es menor que el objetivo de uso, el escalador automático quitará instancias. Por ejemplo, si se establece el objetivo de uso en 0.75, se le indica al escalador automático que mantenga un uso promedio del 75% entre todas las CPU virtuales del grupo de instancias.

También puedes escalar en función del uso de CPU previsto. Si deseas obtener más información y ver si esto es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.

Habilita el ajuste de escala automático según el uso de CPU

Console

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

    Ir a Grupos de instancias

  2. Si tienes un grupo de instancias, selecciónalo y haz clic en Editar. Si no tienes un grupo de instancias, haz clic en Crear grupo de instancias.

  3. Si no existe una configuración del ajuste de escala automático, en Ajuste de escala automático, haz clic en Configurar ajuste de escala automático.

  4. En Modo de ajuste de escala automático, elige Activar: agregar y quitar instancias al grupo para habilitar el ajuste de escala automático.

  5. Especifica la cantidad mínima y máxima de instancias que deseas que el escalador automático cree en este grupo.

  6. En la sección Indicadores de ajuste de escala automático, si aún no hay una métrica de uso de CPU existente, agrega una:

    1. Haz clic en Agregar un indicador.
    2. En el menú desplegable Tipo de indicador, selecciona Uso de CPU.
    3. Ingresa el Uso objetivo de CPU que desees. Este valor se trata como un porcentaje. Por ejemplo, para un 75% de uso de CPU, ingresa 75.
    4. En Ajuste de escala automático predictivo, elige Desactivado. Si deseas obtener más información sobre el ajuste de escala automático predictivo y si es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.
    5. Haz clic en Listo.
  7. Puedes usar el período de inactividad para indicarle al escalador automático cuánto tiempo tarda la aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.

  8. Haz clic en Guardar.

gcloud

Usa el subcomando set-autoscaling a fin de habilitar el ajuste de escala automático para un grupo de instancias administrado. Por ejemplo, mediante el siguiente comando, se crea un escalador automático que tiene un uso objetivo de CPU del 60%. Además del parámetro --target-cpu-utilization, también se requiere el parámetro --max-num-replicas cuando se crea un escalador automático:

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

Puedes usar la marca --cool-down-period para establecer el período de inicialización, que le indica al escalador automático cuánto tarda tu aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.

De manera opcional, puedes habilitar el ajuste de escala automático predictivo para escalar horizontalmente antes de la carga prevista. A fin de saber si el ajuste de escala automático predictivo es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.

Puedes verificar que el ajuste de escala automático se habilitó de manera correcta mediante el subcomando instance-groups managed describe, que describe el grupo de instancias administrado correspondiente y proporciona información sobre las funciones de ajuste de escala automático para ese grupo de instancias:

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

Para obtener una lista de los comandos y las marcas gcloud disponibles, consulta la referencia de gcloud.

REST

A fin de crear un escalador automático, usa el método autoscalers.insert para un MIG zonal o el método regionAutoscalers.insert para un MIG regional.

En el siguiente ejemplo, se crea un escalador automático para un MIG zonal:

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

El cuerpo de tu solicitud debe contener los campos name, target y autoscalingPolicy. autoscalingPolicy debe definir cpuUtilization y maxNumReplicas.

Puedes usar el campo coolDownPeriodSec para establecer el período de inicialización, que le indica al escalador automático cuánto tarda tu aplicación en inicializarse. Especificar un período de inicialización preciso mejora las decisiones de escalador automático. Por ejemplo, cuando se escala horizontalmente, el escalador automático ignora los datos de las VMs que aún se están inicializando, ya que es posible que estas aún no representen el uso normal de tu aplicación. El período de inicialización predeterminado es de 60 segundos.

De manera opcional, puedes habilitar el ajuste de escala automático predictivo para escalar horizontalmente antes de la carga prevista. A fin de saber si el ajuste de escala automático predictivo es adecuado para tu carga de trabajo, consulta Escala en función de las predicciones.

{
  "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
  }
}

A fin de obtener más información sobre cómo habilitar el ajuste de escala automático según el uso de CPU, completa el instructivo sobre cómo usar el ajuste de escala automático para aplicaciones altamente escalables .

Cómo el escalador automático maneja el uso intensivo de CPU

Durante los períodos de uso intensivo de CPU, si el uso está cerca del 100%, el escalador automático estima que el grupo puede estar muy sobrecargado. En estos casos, el escalador automático aumenta la cantidad de máquinas virtuales en un 50% como máximo.

¿Qué sigue?