⏱️2 min read · 425 words

Kubernetes (K8s)é a plataforma padrão para execução de aplicativos em contêineres em escala em 2026. Todos os principais provedores de nuvem oferecem Kubernetes gerenciados: EKS (AWS), GKE (Google), AKS (Azure). Este guia para iniciantes explica os principais conceitos e faz com que seu primeiro aplicativo seja executado em um cluster.
📋 Table of Contents
Conceitos Básicos
- Vagem:Unidade implantável mais pequena — um ou mais contentores que partilham rede/armazenamento
- Implantação:Gerencia múltiplas réplicas de pod, lida com atualizações contínuas
- Serviço:Endpoint de rede estável para um conjunto de pods
- Espaço para nome:Cluster virtual para isolamento de recursos
- ConfigMap/Segredo:Configuração e injeção de dados sensíveis
Instale kubectl e Minikube (teste local)
# Install kubectl
curl -LO https://dl.k8s.io/release/$(curl -Ls https://dl.k8s.io/release/stable.txt)/bin/linux/amd64/kubectl
chmod +x kubectl && sudo mv kubectl /usr/local/bin/
# Install Minikube (local cluster)
curl -LO https://storage.googleapis.com/minikube/releases/latest/minikube-linux-amd64
sudo install minikube-linux-amd64 /usr/local/bin/minikube
# Start cluster
minikube start --cpus 2 --memory 4096
kubectl cluster-info
Implante seu primeiro aplicativo
# deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
name: myapp
namespace: default
spec:
replicas: 3
selector:
matchLabels:
app: myapp
template:
metadata:
labels:
app: myapp
spec:
containers:
- name: myapp
image: myapp:1.0
ports:
- containerPort: 8000
resources:
requests:
cpu: 100m
memory: 128Mi
limits:
cpu: 500m
memory: 512Mi
# service.yaml
apiVersion: v1
kind: Service
metadata:
name: myapp-service
spec:
selector:
app: myapp
ports:
- port: 80
targetPort: 8000
type: LoadBalancer
kubectl apply -f deployment.yaml
kubectl apply -f service.yaml
# Check status
kubectl get pods
kubectl get services
kubectl describe pod <pod-name>
Comandos essenciais do kubectl
# Get resources
kubectl get pods -n default
kubectl get deployments
kubectl get services
# View logs
kubectl logs <pod-name>
kubectl logs -f <pod-name> # follow
# Exec into pod
kubectl exec -it <pod-name> -- /bin/bash
# Scale deployment
kubectl scale deployment myapp --replicas=5
# Rolling update (zero downtime)
kubectl set image deployment/myapp myapp=myapp:2.0
# Rollback
kubectl rollout undo deployment/myapp
ConfigMaps e segredos
# configmap.yaml
apiVersion: v1
kind: ConfigMap
metadata:
name: myapp-config
data:
DATABASE_HOST: postgres-service
APP_ENV: production
---
# secret.yaml
apiVersion: v1
kind: Secret
metadata:
name: myapp-secret
type: Opaque
stringData:
DATABASE_PASSWORD: supersecret
Conclusão
Kubernetes é complexo, mas os conceitos básicos são simples. Domine pods, implantações e serviços e adicione Ingress para roteamento e HorizontalPodAutoscaler para escalonamento automático. Para produção, use um serviço gerenciado (EKS/GKE/AKS) em vez de auto-hospedar o plano de controle.
🔗 Share this article
✍️ Leave a Comment