Entrar ou criar conta

ULC Lab · implementação reproduzível

Laboratório: Cluster Kubernetes Local com Minikube, Deploy de Aplicação e Monitoramento com Prometheus

Você terá um cluster Kubernetes funcional em uma máquina local, rodando uma aplicação web de exemplo e monitorada pelo Prometheus. O laboratório leva cerca de 2 horas.

Kubernetes do zero à operação de aplicações resilientes
Ligado ao treinamento Kubernetes do zero à operação de aplicações resilientes
ULC-LAB-DESE-0004 · Status de validaçãoNão validado pela Upnetix: roteiro derivado da documentação oficial, para você executar e validar
Duração estimada
120 min
Passos
13
Validações
5
Versões da documentação consultada
Minikube a versão estável atual · kubectl a versão estável atual · Docker a versão estável atual · Prometheus a versão estável atual
Objetivo

Este laboratório ensina como criar um cluster Kubernetes local usando Minikube, realizar o deploy de uma aplicação containerizada, expor o serviço para acesso externo e implementar monitoramento básico com Prometheus. O objetivo é experimentar, do zero, o ciclo de vida de uma aplicação resiliente em Kubernetes, incluindo troubleshooting e validações essenciais para ambientes de produção.

Topologia

Uma máquina local (192.168.56.10) roda Minikube, que cria um cluster Kubernetes single-node. Dentro do cluster, um deployment de aplicação web (exemplo: nginx) e um deployment do Prometheus. O serviço nginx é exposto via NodePort. O Prometheus coleta métricas do cluster e da aplicação.

┌─────────────────────────────┐
│     Máquina Local           │
│  (192.168.56.10)           │
│ ┌─────────────────────────┐ │
│ │  Minikube (Kubernetes)  │ │
│ │ ┌───────────────┐       │ │
│ │ │ nginx Pod     │       │ │
│ │ └───────────────┘       │ │
│ │ ┌───────────────┐       │ │
│ │ │ Prometheus    │       │ │
│ │ └───────────────┘       │ │
│ └─────────────────────────┘ │
└─────────────────────────────┘

Equipamentos e software

ItemRequisito, licença ou versão
Notebook ou PC2 CPUs, 4 GB RAM, 20 GB disco, VirtualBox ou KVM instalado
Conexão de internetPara baixar imagens e pacotes
MinikubeApache 2.0 · a versão estável atual
kubectlApache 2.0 · a versão estável atual
DockerApache 2.0 · a versão estável atual
PrometheusApache 2.0 · a versão estável atual

Roteiro

  1. Preparar o ambiente local

    Instale Docker, Minikube e kubectl. Sem essas ferramentas, não há como orquestrar containers localmente.

    Consulte https://minikube.sigs.k8s.io/docs/start/

    O que você deve ver: Comandos docker, minikube e kubectl disponíveis no terminal

  2. Iniciar o cluster Minikube

    Crie um cluster Kubernetes single-node para simular um ambiente de produção reduzido.

    minikube start --driver=virtualbox

    O que você deve ver: Mensagens indicando o download e inicialização do cluster

  3. Verificar o status do cluster

    Confirme que o cluster está pronto antes de prosseguir.

    kubectl get nodes

    O que você deve ver: Status 'Ready' para o nó do cluster

  4. Deploy de uma aplicação web de exemplo

    Implemente um deployment nginx para servir como aplicação resiliente.

    kubectl create deployment nginx --image=nginx

    O que você deve ver: Deployment criado

  5. Expor o serviço nginx via NodePort

    Permita acesso externo à aplicação, simulando exposição em produção.

    kubectl expose deployment nginx --type=NodePort --port=80

    O que você deve ver: Service criado

  6. Descobrir a porta NodePort

    Identifique a porta externa para acessar o nginx.

    kubectl get service nginx

    O que você deve ver: PORT(S) com valor 80:<NodePort>/TCP

  7. Testar acesso externo ao nginx

    Acesse o serviço pelo IP do Minikube e porta NodePort.

    minikube service nginx --url

    O que você deve ver: URL de acesso ao nginx

  8. Deploy do Prometheus via manifest

    Implemente o Prometheus para monitorar o cluster e aplicações.

    kubectl apply -f https://raw.githubusercontent.com/prometheus-operator/prometheus-operator/main/bundle.yaml

    O que você deve ver: Recursos do Prometheus criados

  9. Expor o Prometheus via NodePort

    Permita acesso externo à interface do Prometheus.

    kubectl expose deployment prometheus-operator --type=NodePort --port=8080

    O que você deve ver: Service criado

  10. Descobrir a porta NodePort do Prometheus

    Identifique a porta externa para acessar o Prometheus.

    kubectl get service prometheus-operator

    O que você deve ver: PORT(S) com valor 8080:<NodePort>/TCP

  11. Acessar a interface do Prometheus

    Abra o navegador e acesse o Prometheus para visualizar métricas.

    minikube service prometheus-operator --url

    O que você deve ver: Interface web do Prometheus acessível

  12. Simular falha e observar resiliência

    Delete o pod nginx para observar o Kubernetes recriando o pod automaticamente.

    kubectl delete pod -l app=nginx

    O que você deve ver: Novo pod nginx criado automaticamente

  13. Observar métricas do nginx no Prometheus

    Verifique se o Prometheus está coletando métricas do nginx.

    Consulte a interface do Prometheus

    O que você deve ver: Métricas relacionadas ao nginx disponíveis

Como saber que funcionou

TesteComandoCritério
Verificar status do clusterkubectl get nodesSTATUS = Ready
Verificar pods em execuçãokubectl get podsnginx e prometheus-operator em Running
Acessar aplicação nginx externamentecurl <URL do nginx>Retorno do HTML padrão do nginx
Acessar interface do Prometheuscurl <URL do Prometheus>HTML da interface Prometheus
Verificar resiliência do deploymentkubectl delete pod -l app=nginxNovo pod criado automaticamente

Troubleshooting

SintomaCausa provávelCorreção
kubectl não conecta ao clusterMinikube não inicializado ou variáveis de ambiente não configuradasExecute 'minikube start' e verifique 'kubectl config view'
Pods não entram em RunningFalta de recursos ou imagem não encontradaVerifique 'kubectl describe pod <nome>' e ajuste recursos
Serviço NodePort inacessívelFirewall bloqueando porta ou IP erradoUse 'minikube service <serviço> --url' para obter URL correta
Prometheus não coleta métricas do nginxnginx sem endpoint de métricas padrãoImplemente um exporter ou configure scrape no Prometheus
Erro ao aplicar manifest do PrometheusVersão incompatível do KubernetesConsulte a documentação do Prometheus Operator para versão compatível

Segurança e hardening

  • Não exponha NodePorts em ambientes de produção sem autenticação
  • Restrinja acesso às interfaces web via firewall
  • Remova recursos criados após o laboratório para evitar exposição desnecessária
  • Não use imagens de containers sem verificar a procedência

Checklist final

Referências

  1. Kubernetes - Getting Started with Minikube · Kubernetes (CNCF) (kubernetes.io)
  2. Kubernetes - Deployments · Kubernetes (CNCF) (kubernetes.io)
  3. Prometheus - Getting Started · Prometheus (CNCF) (prometheus.io)
Verificação editorial
Publicado
09/09/2026
Última revisão
09/09/2026
Versão do conteúdo
1.0
Referências
3 oficiais
Revisão técnica
redação e revisão por IA, URLs conferidas na publicação
Status
Atual
Encontrou um erro? Escreva para comercial@upnetix.com.br com o endereço da página. A revisão semestral por IA nunca altera comandos ou configurações sem passar pela fila de revisão.