Pular para o conteúdo
Tecnologia

Kubernetes orquestra containers em escala. Parece complicado mas os conceitos básicos são diretos. Aprenda a arquitetura e componentes principais.

Conceitos Principais

Pod

Menor unidade deployável. Wrapper de 1+ containers. Containers no mesmo Pod compartilham network e storage. Efêmero - pode morrer a qualquer momento.

Deployment

Gerencia ReplicaSets (grupos de Pods). Define quantas réplicas rodar. Rolling updates automáticos. Rollback com um comando.

Service

Load balancer interno para Pods. IP estável (Pods têm IPs dinâmicos). ClusterIP (interno), NodePort (externo), LoadBalancer (cloud).

ConfigMap & Secret

ConfigMap: configs não-sensíveis. Secret: senhas, tokens (base64). Injetados como env vars ou volumes. Separa config de código.

Passo a Passo

  1. Instale Minikube: Cluster K8s local. brew install minikube (Mac). minikube start. Kubectl instalado junto. Teste: kubectl version.
  2. Crie Deployment: YAML: apiVersion apps/v1, kind Deployment, spec replicas 3, template com container node app. kubectl apply -f deployment.yaml.
  3. Exponha Service: YAML: kind Service, type LoadBalancer, selector app: minha-app, ports 80:3000. kubectl apply -f service.yaml. Acesso externo.
  4. Gerencie Pods: Liste: kubectl get pods. Logs: kubectl logs pod-name. Exec: kubectl exec -it pod-name -- sh. Delete: kubectl delete pod pod-name.
  5. Escale App: kubectl scale deployment minha-app --replicas=5. K8s cria 2 Pods novos. Load balancer distribui tráfego. Scale down: --replicas=2.

Boas Praticas

Recomendacoes

• Use namespaces para organização

• Labels e selectors para tudo

• Liveness e readiness probes

• Resource limits para cada container

Erros Comuns

Evite estes erros

• Não definir resource limits (OOM kills)

• Hardcodar configs no YAML

• Não usar health checks

Checklist

  • Minikube rodando localmente
  • Deployment criado com réplicas
  • Service expondo aplicação
  • ConfigMap para configs
  • Pods escalando corretamente