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 supervisión de Stackdriver; puedes elegir hasta cinco políticas para las métricas de supervisión de Stackdriver. 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 objetivo de 0.8
  • loadBalancingUtilization con objetivo de 0.6
  • customMetricUtilization para metric1 con objetivo de 1,000
  • customMetricUtilization para metric2 con 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 métrica2

Con los valores promedio, el escalador automático calcula los cambios recomendados en la cantidad de máquinas virtuales, basada en 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

Crear un escalador automático con varias políticas varía un poco según si usas la herramienta de línea de comandos de gcloud o la API.

En Console


  1. Ve a la página de 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 +.

En gcloud


Si quieres crear un escalador automático con varias políticas, debes pasar varias especificaciones de políticas con las respectivas marcas de línea de comandos. 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

En la API


Realiza en la API una solicitud POST con el cuerpo de la solicitud que contenga todas las políticas deseadas:

POST https://www.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://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/example-managed-instance-group",
  "name": "example-autoscaler"
}
¿Te sirvió esta página? Envíanos tu opinión:

Enviar comentarios sobre…

Documentación de Compute Engine