Ao criar uma política de escalonamento automático com vários sinais, o escalonador automático faz o escalonamento com base no sinal que fornece o maior número de instâncias de máquina virtual (VM) no grupo gerenciado de instâncias (MIG). Isso garante que sempre haja VMs suficientes para processar as cargas de trabalho do aplicativo e que você consiga escalonar os aplicativos com vários gargalos possíveis.
Para saber mais sobre os diferentes tipos de sinais de escalonamento automático, consulte Política de escalonamento automático.
Antes de começar
- Leia sobre as noções básicas do escalonador automático.
-
Configure a autenticação, caso ainda não tenha feito isso.
A autenticação é
o processo de verificação da sua identidade para acesso a serviços e APIs do Google Cloud.
Para executar códigos ou amostras de um ambiente de desenvolvimento local, autentique-se no
Compute Engine da seguinte maneira.
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
-
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
- Set a default region and zone.
cpuUtilization
com meta de 0,8loadBalancingUtilization
com meta de 0,6customMetricUtilization
para metric1 com meta de 1.000customMetricUtilization
para metric2 com meta de 2.000scalingSchedules
- Um mínimo de seis VMs por sábado e domingo às 0h por 24 horas
- um mínimo de 15 VMs de segundas a sextas-feiras às 9h por 8 horas
- 0,5 para utilização da CPU
- 0,4 para utilização do balanceamento de carga
- 1.100 para metric1
- 2.700 para metric2
- 7 VMs baseadas na utilização da CPU
- 7 VMs baseadas na utilização do balanceamento de carga
- 11 VMs baseadas em metric1
- 14 VMs baseadas em metric2
- 6 VMs por sábado e domingo durante todo o dia com base na primeira programação de escalonamento
- 15 VMs de segunda a sexta-feira, das 9h às 17h, com base na segunda programação de escalonamento
No Console do Google Cloud, acesse a página Grupos de instâncias.
Clique no nome de um MIG na lista. Em seguida, clique em Editar.
Na página de edição em Modo de escalonamento automático, selecione Ativado: adicionar e remover instâncias do grupo para ativá-lo no menu suspenso.
Em Número mínimo de instâncias, insira o número mínimo de VMs desejado para este MIG. O tamanho mínimo desse MIG é sempre mantido, independentemente dos sinais de escalonamento automático.
Em Número máximo de instâncias, insira o número máximo de VMs desejado para este MIG. O tamanho máximo desse MIG nunca é excedido, independentemente do tamanho recomendado gerado pelos sinais de escalonamento automático.
Para cada sinal de escalonamento automático baseado em métrica que você quiser adicionar, em Métricas de escalonamento automático, clique em Adicionar métrica.
- Para criar uma política de escalonamento automático com base na utilização média da CPU, em Tipo de métrica, selecione Utilização da CPU no menu suspenso. Em seguida, insira uma utilização de CPU de destino e clique em Concluído. Para mais informações, consulte Como fazer o escalonamento baseado na utilização da CPU.
- Para criar um sinal de escalonamento automático com base na capacidade de exibição do balanceamento de carga HTTP, em Tipo de métrica, selecione Utilização de balanceamento de carga HTTP no menu suspenso. Em seguida, insira uma Utilização de balanceamento de carga HTTP de destino e clique em Concluído. Para mais informações, consulte Escalonamento com base na capacidade de exibição do balanceamento de carga.
- Para criar um sinal de escalonamento automático com base nas métricas do Cloud Monitoring, em Tipo de métrica, selecione métrica de Cloud Monitoring no menu suspenso. Em seguida, preencha os campos restantes e clique em Concluído. Para mais informações, consulte Como escalonar com base nas métricas do Cloud Monitoring.
Para cada sinal de escalonamento automático baseado em programação que você quer adicionar, expanda a seção Programações de escalonamento automático, clique em Gerenciar programações e clique em Criar programação.
No novo painel Criar uma programação de escalonamento, preencha os campos necessários e clique em Salvar. Em seguida, no painel Como escalonar programações, clique em Concluído. Para mais informações, consulte Como escalonar com base em programações.
Em Período de inicialização, insira o número de segundos que seu aplicativo precisa para inicializar. Com isso, as VMs podem concluir a inicialização antes que o escalonador automático considere os dados de uso confiáveis. Para mais informações, consulte Período de inicialização.
Opcional: para ativar os controles de redução de escalonamento horizontal, clique em Controles de redução de escalonamento horizontal e marque a caixa de seleção Ativar controles de redução de escalonamento horizontal. Para mais informações, consulte Controles de redução do escalonamento horizontal.
Clique em Save.
MIG_NAME
: o nome de um MIG.PATH_TO_CUSTOM_METRIC_1
ePATH_TO_CUSTOM_METRIC_2
: opcional: os caminhos para as métricas personalizadas com um formato semelhante acustom.cloudmonitoring.googleapis.com/path/to/metric1
ecustom.cloudmonitoring.googleapis.com/path/to/metric2
. Para mais informações, consulte Métricas personalizadas.PROJECT
: o ID do projeto;ZONE
: a zona em que o MIG está localizado;MIG_NAME
: o nome de um MIG.PATH_TO_CUSTOM_METRIC_1
ePATH_TO_CUSTOM_METRIC_2
: opcional: os caminhos para as métricas personalizadas com um formato semelhante acustom.cloudmonitoring.googleapis.com/path/to/metric1
ecustom.cloudmonitoring.googleapis.com/path/to/metric2
. Para mais informações, consulte Métricas personalizadas.
REST
Para usar as amostras da API REST nesta página em um ambiente de desenvolvimento local, use as credenciais fornecidas para gcloud CLI.
Install the Google Cloud CLI, then initialize it by running the following command:
gcloud init
Para mais informações, consulte Autenticar para usar REST na documentação de autenticação do Google Cloud.
Como o escalonador automático gerencia vários sinais
Um escalonador automático gerencia vários sinais calculando o número recomendado de VMs para cada sinal e escolhe o sinal que resulta no maior número de VMs no MIG.
Um escalonador automático é capaz de gerenciar um sinal por tipo de métrica, exceto no caso de métricas do Cloud Monitoring e de programações de escalonamento. É possível escolher até cinco sinais de escalonamento automático para as métricas do Cloud Monitoring e criar até 128 programações por MIG. Por exemplo, é possível criar um escalonador automático que use até 1 sinal de utilização de CPU, até 1 sinal de balanceamento de carga, até 5 sinais de métrica personalizados e até 128 programações de escalonamento.
Por exemplo, você pode definir um escalonador automático com todos os sinais a seguir:
Neste exemplo, imagine que o escalonador automático mede os seguintes valores médios de utilização para um MIG que contém 10 VMs no momento da medição:
Usando os valores anteriores, o escalonador automático calcula o número recomendado de VMs com base em cada sinal:
O escalonador automático escolhe o sinal que resulta no maior número de VMs no MIG e define o tamanho recomendado do MIG para esse valor. Neste caso, o escalonador automático redimensionará o MIG para 15 VMs se a segunda programação estiver ativa naquele momento. Caso contrário, o redimensionamento será para 14 VMs.
Crie um escalonador automático com vários sinais
A criação de um escalonador automático com vários indicadores é um pouco diferente dependendo da ferramenta utilizada: o console do Google Cloud, a gcloud CLI ou a REST.
Console
gcloud
Para criar um escalonador automático com vários sinais, use o comando
set-autoscaling
. Transmita várias especificações de sinal usando as respectivas sinalizações de linha de comando.Por exemplo, o comando a seguir cria um escalonador automático que usa a utilização da CPU, a capacidade de exibição do balanceamento de carga, duas métricas personalizadas e uma programação de escalonamento. As sinalizações
--max-num-replicas
e--min-num-replicas
restringem o tamanho máximo ou mínimo que o MIG pode alcançar.gcloud compute instance-groups managed set-autoscaling MIG_NAME \ --target-cpu-utilization=0.8 \ --target-load-balancing-utilization=0.6 \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_1,utilization-target=1000.0,utilization-target-type=GAUGE \ --custom-metric-utilization metric=PATH_TO_CUSTOM_METRIC_2,utilization-target=2000.0,utilization-target-type=DELTA_PER_SECOND \ --set-schedule=workday-capacity \ --schedule-cron="30 8 * * Mon-Fri" \ --schedule-duration-sec=30600 \ --schedule-min-required-replicas=10 \ --schedule-description="Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" \ --min-num-replicas=1 \ --max-num-replicas=50
Substitua:
Com exceção das sinalizações de métrica personalizada, você pode transmitir apenas uma sinalização para cada tipo de métrica por comando
gcloud
. Para métricas personalizadas, é possível fornecer várias métricas personalizadas em um único comando repetindo a sinalização--custom-metric-utilization
.Para mais informações sobre como configurar as sinalizações para cada tipo de sinal de escalonamento automático, consulte as seguintes páginas:
REST
Para criar um escalonador automático, use o método
autoscalers.insert
para um MIG zonal ou o métodoregionAutoscalers.insert
para um MIG regional.Por exemplo, a solicitação a seguir cria um escalonador automático que usa a utilização da CPU, a capacidade de exibição do balanceamento de carga, duas métricas personalizadas e duas programações de escalonamento. Os campos
maxNumReplicas
eminNumReplicas
restringem o tamanho máximo ou mínimo que o MIG pode alcançar.POST https://compute.googleapis.com/compute/v1/projects/PROJECT/zones/ZONE/autoscalers { "autoscalingPolicy" : { "cpuUtilization":{ "utilizationTarget": 0.8 }, "loadBalancingUtilization":{ "utilizationTarget": 0.6 }, "customMetricUtilizations":[ { "metric": "PATH_TO_CUSTOM_METRIC_1", "utilizationTarget": 1000, "utilizationTargetType":"GAUGE" }, { "metric": "PATH_TO_CUSTOM_METRIC_2", "utilizationTarget": 2000, "utilizationTargetType": "DELTA_PER_SECOND" } ], "scalingSchedules": { "workday-capacity": { "minRequiredReplicas": 10, "schedule": "30 8 * * Mon-Fri", "durationSec": 30600, "description": "Have at least 10 VMs every Monday through Friday from 8:30 AM to 5 PM UTC" }, "january-30-2030-schedule": { "minRequiredReplicas": 30, "schedule": "0 0 30 1 * 2030", "timeZone": "America/New_York", "durationSec": 86400, "description": "Schedule a minimum of 30 VMs all day for January 30, 2030" } }, "maxNumReplicas": 50, "minNumReplicas": 1 }, "target": "https://www.googleapis.com/compute/v1/projects/myproject/zones/us-central1-a/instanceGroupManagers/MIG_NAME", "name": "MIG_NAME" }
Substitua:
Como mostrado neste exemplo, é possível fornecer várias métricas personalizadas e programações de escalonamento na mesma solicitação.
Para mais informações sobre como configurar os campos de cada tipo de sinal de escalonamento automático, consulte as seguintes páginas:
Exceto em caso de indicação contrária, o conteúdo desta página é licenciado de acordo com a Licença de atribuição 4.0 do Creative Commons, e as amostras de código são licenciadas de acordo com a Licença Apache 2.0. Para mais detalhes, consulte as políticas do site do Google Developers. Java é uma marca registrada da Oracle e/ou afiliadas.
Última atualização 2024-09-24 UTC.
-