K8s em Exemplos: Escalonador Horizontal de Pods
| HPA escala Pods baseado em CPU, memória ou métricas customizadas. Requer metrics-server no cluster. Ajusta réplicas para manter utilização alvo automaticamente. |
| hpa.yaml | |
| HPA usa a API | |
| pod-resources.yaml | |
| HPA calcula utilização como atual/request. Requer resource requests definidos. Sem requests, HPA não consegue determinar porcentagem de utilização. | |
| hpa-multi-metric.yaml | |
| Combine métricas de CPU e memória. HPA usa o máximo de réplicas calculadas de todas as métricas. Bom para workloads que são CPU e memória bound. | |
| hpa-behavior.yaml | |
| Controle comportamento de scaling: scale up rápido, down lento. | |
| hpa-custom.yaml | |
| Métricas customizadas do Prometheus ou outras fontes. Requer metrics adapter (prometheus-adapter, KEDA). Escale em profundidade de fila, requisições por segundo ou qualquer métrica de aplicação. | |
| hpa-external.yaml | |
| Métricas externas vêm de fora do cluster (cloud monitoring, SaaS). Escale baseado em tamanho de fila SQS, backlog Pub/Sub ou qualquer fonte de dados externa. Requer external metrics provider como KEDA. | |
| hpa-targets.yaml | |
| HPA funciona com Deployments, StatefulSets e ReplicaSets. Não pode escalar DaemonSets (1 por node por design). Conflita com scaling manual - HPA sobrescreve mudanças manuais de réplicas. | |
| terminal | |
| Debug HPA verificando events, métricas atuais e conditions. Problemas comuns: metrics-server não rodando, resource requests faltando, nomes de métrica inválidos. TARGETS mostra utilização atual/alvo. | |