devterview_$ iniciar simulação

Autoscaling horizontal (HPA) e por que ele às vezes 'não escala'

DifícilSêniorEscala

Pergunta

O que o Horizontal Pod Autoscaler faz, e quais configurações erradas fazem ele não escalar como esperado?

Resposta esperada

O HPA ajusta o número de réplicas de um Deployment com base numa métrica (CPU/memória por padrão, ou custom/externas — RPS, tamanho de fila). Ele lê a métrica, compara com o alvo (`CPU utilization 70%`) e calcula quantas réplicas precisa. Motivos comuns pra não escalar: (1) o Pod não define `resources.requests` de CPU — o HPA calcula 'utilização' como uso/request, sem request não há base, e ele não age; (2) metrics-server não instalado ou sem dados; (3) o gargalo não é CPU (é I/O, lock, dependência lenta) — escalar réplicas não ajuda, precisa de métrica custom; (4) `maxReplicas` baixo, ou o cluster sem nós pra alocar os Pods novos (aí precisa do Cluster Autoscaler junto); (5) thrashing por falta de estabilização (janela de scale-down curta) fazendo ele subir e descer. E HPA não resolve pico instantâneo — leva alguns ciclos.

Por que perguntam isso

Pergunta pleno/sênior de K8s. O 'sem requests não há base de cálculo' é o erro nº1. Conecta com a pergunta de requests/limits.

#hpa#autoscaling#metrics-server#requests
publicidade

Relacionadas