Acerca da escala automática de cargas de trabalho com base em métricas

Esta página descreve as formas como pode aumentar ou diminuir automaticamente o número de réplicas de uma determinada carga de trabalho através de métricas personalizadas, externas ou do Prometheus.

Por que motivo deve usar a escala automática com base em métricas

Considere uma aplicação que extrai tarefas de uma fila e as conclui. A aplicação pode ter um objetivo ao nível do serviço (SLO) para o tempo de processamento de uma tarefa ou para o número de tarefas pendentes. Se a fila estiver a aumentar, mais réplicas da carga de trabalho podem cumprir o SLO das cargas de trabalho. Se a fila estiver vazia ou diminuir mais rapidamente do que o esperado, pode poupar dinheiro executando menos réplicas, ao mesmo tempo que cumpre o SLO das cargas de trabalho.

Acerca das métricas personalizadas, do Prometheus e externas

Pode dimensionar cargas de trabalho com base em métricas personalizadas, do Prometheus ou externas.

É comunicada uma métrica personalizada a partir da sua aplicação em execução no Kubernetes. Para saber mais, consulte o artigo Métricas personalizadas e do Prometheus.

As métricas provenientes do Managed Service for Prometheus são consideradas um tipo de métrica personalizada.

Uma métrica externa é comunicada a partir de uma aplicação ou um serviço que não está a ser executado no seu cluster, mas cujo desempenho afeta a sua aplicação Kubernetes. Por exemplo, pode ajustar automaticamente a escala com base em qualquer métrica no Cloud Monitoring, incluindo o Pub/Sub ou o Dataflow. As métricas do Prometheus contêm dados emitidos a partir do seu cluster que pode usar para o dimensionamento automático. Para saber mais, consulte o artigo Métricas externas.

Métricas personalizadas e do Prometheus

Recomendamos que use o serviço gerido para Prometheus para criar e gerir métricas personalizadas. Pode usar a linguagem de consulta Prometheus (PromQL) para consultar todas as métricas no Monitoring. Para mais informações, consulte o artigo Ajuste de escala automático de pods horizontal para o Managed Service for Prometheus.

A sua aplicação pode comunicar uma métrica personalizada ao Monitoring. Pode configurar o Kubernetes para responder a estas métricas e dimensionar a sua carga de trabalho automaticamente. Por exemplo, pode dimensionar a sua aplicação com base em métricas como consultas por segundo, gravações por segundo, desempenho da rede, latência ao comunicar com uma aplicação diferente ou outras métricas adequadas para a sua carga de trabalho. Para mais informações, consulte o artigo Otimize o dimensionamento automático de agrupamentos com base em métricas.

Métricas externas

Se precisar de dimensionar a sua carga de trabalho com base no desempenho de uma aplicação ou um serviço fora do Kubernetes, pode configurar uma métrica externa. Por exemplo, pode ter de aumentar a capacidade da sua aplicação para carregar mensagens do Pub/Sub se o número de mensagens não entregues estiver a aumentar. A aplicação externa tem de exportar a métrica para uma instância de monitorização à qual o cluster possa aceder. A tendência de cada métrica ao longo do tempo faz com que o redimensionador automático horizontal de pods altere automaticamente o número de réplicas na carga de trabalho. Para mais informações, consulte o artigo Otimize o dimensionamento automático de agrupamentos com base em métricas.

Importe métricas para a monitorização

Para importar métricas para a Monitorização, pode:

O que se segue?