Prática · Módulo 07 — Kubernetes: conceitos de base · Nível principiante → intermédio
Tenta primeiro sozinho! Realiza o projeto só com este enunciado. O corrigé (manifestos YAML comentados + comandos
kubectl) está no README.md, recolhido. Só o abras depois de teres tentado.
Não tens de instalar mais nada: o Docker Desktop contém um cluster Kubernetes integrado.
kubectl get nodesdocker-desktop no estado Ready.(Alternativas possíveis:
minikube startoukind create cluster. O projeto também funciona, com o carregamento da imagem — ver 02-COMMANDES.md.)
Implantar uma pequena aplicação web no Kubernetes em várias réplicas (Pods), expô-la via um Service e depois praticar os gestos do dia a dia: scaling, rolling update, rollback e auto-reparação.
Quando se recarrega a página, o nome do Pod que responde muda: prova de que o Service reparte a carga entre os Pods.
/, mostre o seu hostname = o nome do Pod).demo-k8s:1.0.Deployment com 3 réplicas, labels coerentes (app: demo-web) e uma sonda (readinessProbe / livenessProbe) em /health.kubectl get pods, kubectl describe pod ..., kubectl logs ...).Service do tipo NodePort (porto 30080) que aponte para os Pods via o seletor de labels.http://localhost:30080 e recarrega: verifica que o nome do Pod muda.ConfigMap com APP_TITLE, APP_VERSION e BG_COLOR, e injeta-o nos Pods (envFrom).BG_COLOR, reaplica o ConfigMap, relança os Pods (kubectl rollout restart) e observa a nova cor.kubectl scale) e depois volta a 3.APP_VERSION, aplica e acompanha a implantação progressiva (kubectl rollout status).kubectl rollout undo).kubectl delete pod ...) e constata que o Kubernetes recria outro sozinho.app/ (código + Dockerfile) e a pasta k8s/ (configmap.yaml, deployment.yaml, service.yaml).curl).kubectl get pods a mostrar 3/3 Pods Running.kubectl rollout status durante um rolling update.| Critério | Esperado |
|---|---|
| Imagem construída | demo-k8s:1.0 disponível para o cluster |
| Deployment | 3 Pods Running, sondas OK |
| Service | Página acessível em localhost:30080, o nome do Pod muda |
| ConfigMap | Alteração de BG_COLOR visível após reaplicação |
| Ciclo de vida | Scaling, rolling update, rollback e auto-reparação demonstrados |
Bloqueado? O README.md contém o corrigé completo (manifestos comentados + comandos), e o guia de comandos lista todo o
kubectlútil — a consultar depois de teres tentado.