Declare o estado desejado; deixe os laços de controle manterem o BoxOffice lá
O lab 3 escalou o catalog editando o Compose. O lab 9 reiniciou à mão um serviço que caiu. Quem faz isso durante a venda relâmpago?
catalog
:80
:30080
--kubelet-insecure-tls
docker tag … boxoffice/catalog:dev
kind load docker-image
latest
O ingress-nginx foi aposentado em março de 2026. Escolha componentes mantidos para o que fica exposto à internet.
k8s/base/ namespace, config, db, redis, catalog, hpa, ingress k8s/overlays/local/ image tag "dev" + lab secrets
kubectl apply -k k8s/overlays/local
secretGenerator
db-credentials-<hash>
db
db-0
clusterIP: None
Bancos em produção: serviço gerenciado ou um operator (backups, failover, upgrades).
Nunca verifique uma dependência compartilhada na liveness: uma oscilação do banco → todos os pods reiniciam de uma vez.
requests
limits
OOMKilled
preStop: sleep 5
SIGTERM
server.shutdown=graceful
maxSurge: 1
maxUnavailable: 0
O catalog reiniciou duas vezes logo depois do kubectl apply. Bug?
kubectl apply
depends_on
apiVersion: autoscaling/v2 kind: HorizontalPodAutoscaler spec: minReplicas: 2 maxReplicas: 8 metrics: [{ type: Resource, resource: { name: cpu, target: { type: Utilization, averageUtilization: 60 } } }] behavior: scaleUp: { stabilizationWindowSeconds: 0 } # + at most 100% or 2 pods / 15 s scaleDown: { stabilizationWindowSeconds: 120 } # - 1 pod / 30 s
desejadas = ⌈atuais × utilização / alvo⌉ → 2 pods a 150% → ⌈2 × 150 / 60⌉ = 5.
desejadas = ⌈atuais × utilização / alvo⌉
localhost:80
/catalog
Ingress
ingressClassName: traefik
Gateway
HTTPRoute
Service LoadBalancer = um endereço por serviço; Ingress = uma porta, muitos serviços; API gateway = autenticação, cotas, transformações.
PEAK
preStop
scripts/watch-hpa.sh registra CPU e réplicas desejadas, atuais e prontas a cada 5 s → faça o gráfico.
scripts/watch-hpa.sh
scale-out
stress
O playground prevê a forma; o seu CSV de réplicas ao longo do tempo é a evidência.
Roteiro: (1) por que laços de controle; (2) kind + Traefik + metrics-server; (3) base/overlay do Kustomize; (4) StatefulSet vs Deployment; (5) probes e graceful shutdown; (6) HPA; (7) Ingress e Gateway API; (8) medir.