O que é Kubernetes e por que existe
2 min de leitura
Quando você tem 5 containers, docker compose up resolve. Quando
você tem 50 containers espalhados por 10 servidores, com requisitos
de alta disponibilidade, rolling updates, scaling automático e
auto-recuperação, você precisa de um orquestrador. Kubernetes
(o "k8s", pelas 8 letras entre o K e o s) é o padrão da indústria.
O problema que o k8s resolve
Imagine sua stack em produção:
- 3 réplicas da API (pra aguentar carga).
- 2 réplicas do worker.
- 1 banco Postgres (com replicação em outro lugar).
- Redis como cache.
- Um load balancer na frente da API.
Sem orquestrador, você cuida de: subir containers, decidir em qual máquina cada um roda, monitorar se caiu, recriar se caiu, distribuir updates sem downtime, escalar quando a carga sobe. Em dezenas de instâncias, isso vira um emprego de tempo integral.
Kubernetes faz isso pra você. Você declara o estado desejado ("quero 3 réplicas da API") e o k8s trabalha pra manter esse estado: se uma réplica cai, ele recria. Se a CPU sobe, ele escala. Você diz o quê, o k8s decide como.
Arquitetura: control plane + workers
Um cluster k8s tem dois tipos de máquina:
- Control plane - o "cérebro". Roda o
kube-apiserver(a API que você fala viakubectl), oetcd(banco de dados do cluster), oscheduler(decide em qual node cada pod roda) e ocontroller manager(vigia e corrige desvios). - Worker nodes - onde os containers efetivamente rodam. Cada
node tem um
kubelet(agente que fala com o control plane) e umcontainer runtime(normalmentecontainerdouCRI-O).
Você nunca fala direto com um node. Fala com o kube-apiserver via
kubectl, e o control plane distribui as instruções pros nodes
certos.
O que o k8s não é
Pra calibrar expectativas:
- Não é um PaaS (tipo Heroku). Você ainda opera o cluster, escala nodes, atualiza versão do control plane.
- Não é um substituto do Docker - o k8s orquestra containers,
mas não constrói imagens. Você continua usando
docker build(ounerdctl build/buildah/ko) e mandando pro registry. - Não resolve tudo sozinho - monitoramento, logging, rede avançada, secrets management e CI/CD continuam sendo responsabilidade sua (com ajuda do ecossistema: Prometheus, Grafana, Argo, Flux, etc.).
Três conceitos que você acabou de aprender:
- Kubernetes é um orquestrador de containers que mantém o estado desejado da sua stack, declarado via YAML.
- Control plane + workers é a divisão fundamental: o cérebro decide, os workers executam.
kubectlé a sua janela pro cluster - tudo passa pela API do control plane.
Dica: a pronúncia é "cóbernétis" - "koo-burr-NEH-teez" - em PT-BR. No dia a dia, quase todo mundo fala "k8s" mesmo.
No próximo, vamos subir um cluster local com minikube ou k3d, pra você poder praticar tudo isso sem precisar de cloud.