Service Configuration
medium

Service Configuration Question #019e3a4f

Question Statement
Service Configuration
#kubernetes
#autoscaling
#hpa
#pod
#resources
Medium

Qual mecanismo pode ser usado para ajustar automaticamente a quantidade de recursos para uma aplicação?

A

Horizontal Pod Autoscaler (HPA)

Correct
B

Kubernetes Event-driven Autoscaling (KEDA)

C

Cluster Autoscaler

D

Vertical Pod Autoscaler (VPA)

Official Explanation / Community Explanations

O Horizontal Pod Autoscaler (HPA) é o mecanismo correto para ajustar automaticamente a quantidade de recursos (especificamente o número de réplicas de pods) para uma aplicação no Kubernetes. O HPA escala o número de pods em um replication controller, deployment ou replica set com base na utilização observada de CPU (ou outras métricas personalizadas). Ele funciona consultando periodicamente o metrics server para obter o uso de recursos e ajustando a contagem de réplicas para atingir a utilização alvo definida na configuração do HPA.

Como Funciona

O HPA é implementado como um recurso da API do Kubernetes e um controller. O controller manager executa um loop que verifica as métricas (por exemplo, CPU, memória ou métricas personalizadas) em relação ao valor alvo. Se a utilização atual se desviar do alvo, o controller ajusta o número de réplicas de acordo. A fórmula usada é desiredReplicas = ceil[currentReplicas * (currentMetricValue / desiredMetricValue)]. O HPA requer que o Metrics Server esteja implantado no cluster.

Por que o Valor Correto está Certo

O Horizontal Pod Autoscaler (HPA) aborda diretamente a questão ao escalar automaticamente o número de réplicas de pods com base no uso de recursos. É o mecanismo padrão do Kubernetes para escalonamento horizontal, garantindo que as aplicações tenham recursos suficientes para lidar com a carga, evitando o provisionamento excessivo.

Por que os Valores Incorretos estão Errados

  • Kubernetes Event-driven Autoscaling (KEDA) é uma extensão que permite o escalonamento automático com base em eventos de fontes externas (por exemplo, tamanho da fila de mensagens, métricas personalizadas). Embora também possa ajustar recursos, não é o mecanismo nativo principal; é um complemento que funciona junto com o HPA. A pergunta pede um mecanismo que pode ser usado, e o HPA é a solução nativa e integrada.
  • Cluster Autoscaler ajusta o número de nós no cluster, não os recursos para uma aplicação. Ele escala a camada de infraestrutura, não os próprios pods da aplicação.
  • Vertical Pod Autoscaler (VPA) ajusta as solicitações e limites de recursos (CPU/memória) de pods existentes, não o número de réplicas. Ele altera a alocação de recursos por pod, enquanto a pergunta trata do ajuste da quantidade de recursos para uma aplicação, que normalmente se refere ao escalonamento horizontal (número de réplicas).