Usa varias políticas

Crea un escalador automático con varias políticas y este se escalará según la política que proporcione la mayor cantidad de máquinas virtuales en el grupo. Así se garantiza que siempre haya suficientes máquinas virtuales para controlar las cargas de trabajo de la aplicación y se permite escalar aplicaciones con varios cuellos de botella posibles.

Antes de comenzar

Cómo el escalador automático controla varias políticas

El escalador automático controla varias políticas mediante el cálculo de la cantidad recomendada de máquinas virtuales para cada política y, luego, mediante la selección de la política que deja la mayor cantidad de máquinas virtuales en el grupo.

Un escalador automático puede controlar una política por tipo de métrica, excepto en el caso de las métricas de Stackdriver Monitoring; puedes elegir hasta cinco políticas para las métricas de Stackdriver Monitoring. Por ejemplo, puedes crear un escalador automático que use una política de uso de CPU, una política de balanceo de cargas y hasta cinco políticas métricas personalizadas.

Por ejemplo, si definiste un escalador automático con todas las definiciones de política siguientes:

  • cpuUtilization con un objetivo de 0.8
  • loadBalancingUtilization con un objetivo de 0.6
  • customMetricUtilization para metric1 con un objetivo de 1,000
  • customMetricUtilization para metric2 con un objetivo de 2,000

Y el escalador automático mide los valores siguientes promedio para el grupo de instancias administrado que contiene 10 máquinas virtuales:

  • 0.5 para uso de CPU
  • 0.4 de uso balanceo de cargas
  • 1,100 para metric1
  • 2,700 para metric2

Con los valores promedio, el escalador automático calcula los cambios recomendados en la cantidad de máquinas virtuales, según cada política:

  • 7 máquinas virtuales basadas en el uso de CPU
  • 7 máquinas virtuales basadas en el uso del balanceo de cargas
  • 11 máquinas virtuales basadas en metric1
  • 14 máquinas virtuales basadas en metric2

Puesto que existe más de una política para este escalador automático, este elige el mayor valor recomendado, en este caso, 14 máquinas, y cambia el tamaño del grupo de instancias administrado a 14 máquinas virtuales.

Crea un escalador automático con varias políticas

La creación de un escalador automático con múltiples políticas es un poco diferente según si usa la herramienta de línea de comandos de gcloud o la API.

Console


  1. Ve a la página Grupo de instancias.
  2. Selecciona el grupo de instancias deseado de la lista y haz clic en Editar (Edit).
  3. En la página de detalles del grupo de instancias, en Escalador automático (Autoscaler), selecciona Activar (On) en el menú desplegable para activar el ajuste de escala automático.
  4. En la sección Ajuste de escala automático basado en (Autoscale based on), selecciona Métricas múltiples (Multiple metrics) en el menú desplegable.

    Captura de pantalla que selecciona varias políticas

  5. Completa los campos para el uso de CPU y el balanceo de cargas, si lo deseas.

  6. Si quieres agregar políticas de métricas personalizadas, haz clic en el ícono + en la sección Métricas de supervisión de destino (Target monitoring metrics) y completa los campos para una política de métricas personalizadas.

    Captura de pantalla que muestra métricas personalizadas

    Para agregar varias políticas de métricas personalizadas, haz clic en el ícono +.

gcloud


Si quieres crear un escalador automático con varias políticas, debes pasar varias especificaciones de políticas con las marcas de línea de comandos respectivas. Con el comando siguiente, se crea un escalador automático que usa el uso de CPU y dos métricas personalizadas:

gcloud compute instance-groups managed set-autoscaling example-managed-instance-group \
    --target-cpu-utilization 0.8 \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric1,utilization-target=1000.0,utilization-target-type=GAUGE \
    --custom-metric-utilization metric=custom.cloudmonitoring.googleapis.com/path/to/metric2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \
    --max-num-replicas 50

Con la excepción de las marcas de métrica personalizadas, solo puedes pasar una marca como máximo para cada tipo de métrica.

Para las métricas personalizadas, puedes proporcionar varias métricas personalizadas mediante la repetición de las marcas siguientes:

--custom-metric-utilization metric=METRIC,utilization-target=TARGET,utilization-target-type=TYPE

API


En la API, realiza una solicitud POST con el cuerpo de la solicitud que contenga todas las políticas deseadas:

POST https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/autoscalers

{
  "autoscalingPolicy" : {
    "cpuUtilization":{
      "utilizationTarget": 0.8
    },
    "customMetricUtilizations":[
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric1",
        "utilizationTarget": 1000,
        "utilizationTargetType":"GAUGE"
      },
      {
        "metric": "custom.cloudmonitoring.googleapis.com/path/to/metric2",
        "utilizationTarget": 2000,
        "utilizationTargetType": "DELTA_PER_SECOND"
      }
    ],
    "loadBalancingUtilization":{
      "utilizationTarget": 0.6
    },
    "maxNumReplicas": 50,
    "minNumReplicas": 1
    }
  "target": "https://compute.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/example-managed-instance-group",
  "name": "example-autoscaler"
}
¿Te ha resultado útil esta página? Enviar comentarios:

Enviar comentarios sobre...

Documentación de Compute Engine