Mas antes de tudo, o que é Kubernetes, clã?
Imagina que você tem várias aplicações rodando em containers — tipo Docker — e precisa garantir que tudo fique de pé, mesmo se um servidor cair ou a demanda explodir. Fazer isso na mão seria um pesadelo, né?
Aí entra o Kubernetes, ou simplesmente K8s (porque ninguém quer digitar esse nome gigante o tempo todo ?).
Ele é um orquestrador de containers — basicamente o maestro da sua infraestrutura. O K8s cuida de tudo: escala suas aplicações automaticamente, faz balanceamento de carga, distribui containers entre servidores, e até reinicia um container se ele travar.
Pensa nele como o “sistema operacional” dos seus clusters de containers.
? Exemplos práticos
1. Escalabilidade automática (Auto Scaling)
Sua API está recebendo mais requisições do que o normal? O Kubernetes cria novos pods (instâncias da aplicação) automaticamente para segurar a carga. Quando o tráfego cai, ele reduz pra economizar recursos.
2. Deploy contínuo sem downtime
Você atualiza a versão da sua aplicação e o K8s faz o “rolling update”: substitui os pods antigos pelos novos sem interromper o serviço. Tudo suave, como se nada tivesse acontecido.
3. Alta disponibilidade
Se um nó do cluster cair, o Kubernetes detecta e move os containers automaticamente pra outro nó saudável. Ou seja, sem pager tocando às 3 da manhã ?.
4. Portabilidade entre ambientes
Quer rodar a mesma stack localmente, na AWS, GCP, Azure ou até on-premise? Sem problema. O K8s padroniza tudo, então o que roda em um ambiente roda em qualquer outro.