K8s HPA YAML
Gere um Kubernetes HorizontalPodAutoscaler (HPA) em YAML com mínimo, máximo de réplicas e alvo de CPU. Escale seus pods automaticamente conforme a carga.
YAML
—
Escalar pods automaticamente pelo uso de CPU
O HorizontalPodAutoscaler é o objeto do Kubernetes que aumenta e diminui o número de réplicas de um Deployment conforme a carga. Ele observa uma métrica, compara com o alvo que você definiu e ajusta a contagem para trazer a média de volta ao alvo. Sem ele, dimensionar é escolher entre pagar por capacidade ociosa ou ficar sem margem no pico.
Preencha o nome do recurso, o Deployment alvo, os limites mínimo e máximo de réplicas e o percentual de CPU desejado. A página devolve o manifesto na versão autoscaling/v2, que é a atual e a que aceita múltiplas métricas. Salve em um arquivo e aplique com kubectl apply -f. O alvo de 70% é um ponto de partida razoável: deixa folga para o tempo que um pod novo leva para subir e ficar pronto.
Um requisito que derruba muita configuração: o percentual de CPU é calculado sobre o requests.cpu de cada contêiner, não sobre o limite nem sobre a capacidade do nó. Se o Deployment não declara requests de CPU, o HPA não consegue calcular a proporção e fica sem métrica, mostrando unknown no kubectl get hpa. O metrics-server também precisa estar instalado no cluster — sem ele, não há de onde ler o consumo.
Perguntas frequentes
Por que meu HPA mostra unknown na coluna de métrica?
Dá para escalar por outra coisa além de CPU?
O HPA convive com réplicas fixas no Deployment?
Ferramentas Relacionadas
K8s CronJob YAML
Gere um Kubernetes CronJob em YAML com a expressão de schedule e o container a executar. Agende tarefas recorrentes no cluster e aplique com kubectl.
K8s ConfigMap YAML
Gere um Kubernetes ConfigMap em YAML a partir de pares chave=valor, pronto para aplicar com kubectl. Centralize a configuração dos seus pods em segundos.
K8s Ingress YAML
Gera um Ingress do Kubernetes com host, service e porta, usando ingressClassName nginx e path raiz. O bloco de TLS você acrescenta à mão.
K8s Secret YAML (base64)
Gere um Kubernetes Secret em YAML com os valores já codificados em base64. Guarde senhas e tokens com segurança e aplique no cluster com kubectl.
Gerador de GitHub Actions
Gere workflows YAML para GitHub Actions: CI Node, deploy estático, release semver, lint+test. Customize triggers e steps. Tudo no navegador.
Gerador de tarefa Ansible
Gera uma tarefa YAML Ansible com módulos comuns (apt, copy, template, service, file) e variáveis. Pronto para playbook.