Projeto Final: app completa no cluster
2 min de leitura
fonte
Você chegou no fim da trilha de Kubernetes. Hora de subir uma stack completa num cluster local - API + banco + cache + Ingress
- Helm + probes + autoscaling - juntando tudo que você aprendeu.
A missão
Suba uma stack realista (sugestões):
- API Node/Express + Postgres + Redis - a stack mais comum. Cobre Deployment, Service, ConfigMap, Secret, PVC, Ingress, HPA, Helm.
- App Flask + Postgres + worker de fila - adiciona StatefulSet pro worker, coverando headless services.
- WordPress + MySQL - exemplo de app "não-cloud-native" no k8s. Mostra que dá, mas com trade-offs (PVC, Session Affinity).
- Sua app - o melhor cenário. Você tem o código; só falta a parte k8s.
Requisitos mínimos
- Cluster local rodando (minikube ou k3d, com
metrics-servereingresshabilitados). - 2+ Deployments - pelo menos a app + algum estado (banco, cache, fila).
- StatefulSet pro banco de dados (Postgres) com
volumeClaimTemplates. - ConfigMap com a config não-sensível e Secret com a senha do banco. Nada de hardcode.
- Service ClusterIP pra cada app + Ingress expondo a UI principal (com TLS se animar).
- Probes (startup + liveness + readiness) na app.
- HPA com pelo menos 1 métrica (CPU) e range razoável (min: 2, max: 5).
- Helm chart empacotando a app -
helm installsobe tudo de uma vez. - README com: como subir o cluster, como instalar o chart, como ver os Pods, como testar HPA, como ver logs.
Critério de "pronto"
minikube start(ouk3d cluster create) +helm install minha-app ./chartsobe a stack inteira em uma pessoa-cluster limpa.kubectl get allmostra todos os recursos rodando comSTATUS: Running(Pods) eCLUSTER-IPválido (Services).kubectl get hpamostra o HPA ativo e a métrica de CPU.curl http://$(minikube ip)/api/itemsretorna a lista de itens (ou a chamada equivalente da sua app).- O banco sobrevive a um
kubectl delete pod postgres-0(StatefulSet recria, dados persistidos via PVC). - O HPA escala quando você gera carga (
hey -z 30s -c 50 ...ou ferramenta similar). helm uninstallremove tudo sem deixar recurso órfão.
Compartilhe
Poste no LinkedIn, mande pra amigos, abra uma issue no nosso GitHub
com a tag meu-projeto. Mostrar a stack funcionando - mesmo
imperfeita - é o que mais evolui.
Próximo passo: GitOps (Argo CD ou Flux), observabilidade (Prometheus + Grafana + Loki), service mesh (Istio ou Linkerd) e multi-cluster (cluster federation, KubeFed, submariner). Você tem a base. O resto são especializações.
// recursos
// avaliação da trilha
—
ainda sem avaliações