🌐 Detecting your location…
📢 Advertisement — Configure AdSense in Appearance → Customize → AdSense Settings

Como configurar um laboratório doméstico para aprender DevOps em 2026

⏱️9 min read  ·  1,883 words


How to Set Up a Home Lab for Learning DevOps in 2026

Equipe Editorial da TechPulse
Escritores de tecnologia · 24 de maio de 2026
📅 24 de maio de 2026⏱ 15 min de leitura📂 Como fazer🏷 devops · homelab · docker · kubernetes · linux

Por que construir um laboratório doméstico?

Em 2026, DevOps é uma das funções mais bem pagas em tecnologia – salário médio de US$ 140.000 a US$ 180.000 nos EUA. Mas entrar requer experiência prática com Kubernetes, CI/CD, infraestrutura como código e monitoramento. Os níveis gratuitos da nuvem são limitados. Os tutoriais desaparecem quando você atinge os limites de faturamento.

Um laboratório doméstico resolve isso:um ambiente sempre ativo e com custos limitados, onde você quebra as coisas livremente e aprende mais rápido do que qualquer curso.

💡 Cálculo do ROI:Um mini PC de US$ 300 executado como um laboratório doméstico, em comparação com instâncias equivalentes do AWS EC2 executadas 24 horas por dia, 7 dias por semana, economiza aproximadamente US$ 200/mês em custos de nuvem. Pago em 1,5 meses. Depois disso, é aprendizado gratuito.

Hardware: o que você realmente precisa

Você não precisa de hardware de servidor caro. Aqui estão três níveis de orçamento:

Camada Hardware Custo Melhor para
Iniciante Seu PC/laptop existente (inicialização dupla ou VM) $0 Aprendendo os fundamentos do Docker
Médio Beelink SER5 (Ryzen 5 5560U, 32 GB de RAM, SSD de 500 GB) ~$250–300 Cluster k3s completo + CI/CD
Avançado Dell PowerEdge R720 ou HP DL380 usado (128 GB de RAM, várias unidades) US$ 200–500 K8s de vários nós, armazenamento Ceph

Recomendado para a maioria das pessoas:Um mini PC recondicionado com 32 GB de RAM e SSD NVMe de 1 TB. O Beelink SER5 Pro ou Intel NUC 12 Pro atingiu o ponto ideal. Adicione um switch TP-Link TL-SG108 barato (US$ 20) se desejar rede de vários nós posteriormente.

Etapa 1: Instale o Proxmox VE

Proxmox VE(Ambiente Virtual) é um hipervisor gratuito e de código aberto que permite executar várias VMs e contêineres LXC em uma máquina. Pense nele como seu VMware pessoal – mas gratuito e baseado em Linux.

  1. Baixe o ISO do Proxmox emproxmox.com/downloads
  2. Flash para uma unidade USB:dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress
  3. Inicialize a partir de USB, instale em seu SSD NVMe
  4. Acesse a interface da web emhttps://YOUR_IP:8006

# After install — disable subscription nag (optional)
sed -i.bak "s/NotFound/Active/" /etc/apt/sources.list.d/pve-enterprise.list || true
echo "deb http://download.proxmox.com/debian/pve bookworm pve-no-subscription"   >> /etc/apt/sources.list.d/pve-no-subscription.list
apt-get update && apt-get dist-upgrade -y

Etapa 2: Crie suas primeiras VMs

Planeje o layout da sua VM antes de criá-la. Aqui está uma arquitetura inicial sólida:

Nome da VM OS RAM Objetivo
k3s-mestre Ubuntu 24.04 4 GB Plano de controle do Kubernetes
k3s-trabalhador-1 Ubuntu 24.04 4 GB Nó de carga de trabalho do Kubernetes
k3s-trabalhador-2 Ubuntu 24.04 4 GB Nó de carga de trabalho do Kubernetes
gitea Ubuntu 24.04 2 GB Servidor Git + CI/CD
monitoramento Ubuntu 24.04 2 GB Prometeu + Grafana

No Proxmox, crie cada VM: clique emCriar VM, selecione seu ISO (Ubuntu 24.04), defina os recursos acima e habilite o agente QEMU para melhor gerenciamento.

Etapa 3: Instale o Docker e o Docker Compose

Em cada VM Ubuntu você deseja executar contêineres:

# Install Docker Engine (official method)
curl -fsSL https://get.docker.com | sh

# Add your user to docker group (avoid sudo)
usermod -aG docker $USER
newgrp docker

# Install Docker Compose v2 (built-in plugin)
apt-get install -y docker-compose-plugin

# Verify
docker --version          # Docker version 27.x
docker compose version    # Docker Compose version v2.x

Teste com uma carga de trabalho real:

# docker-compose.yml — Nginx + Portainer (container management UI)
services:
  portainer:
    image: portainer/portainer-ce:latest
    restart: always
    ports:
      - "9000:9000"
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
      - portainer_data:/data

  nginx:
    image: nginx:alpine
    restart: always
    ports:
      - "80:80"
    volumes:
      - ./html:/usr/share/nginx/html:ro

volumes:
  portainer_data:

docker compose up -d
# Access Portainer at http://YOUR_IP:9000

Etapa 4: implantar Kubernetes com k3s

k3sé uma distribuição leve e certificada do Kubernetes – todas as APIs reais do Kubernetes em um único binário de 70 MB. Perfeito para laboratórios domésticos.

# On k3s-master VM:
curl -sfL https://get.k3s.io | sh -

# Get the join token for worker nodes
cat /var/lib/rancher/k3s/server/node-token

# On each k3s-worker VM (replace with your master IP and token):
export K3S_MASTER_IP="192.168.1.100"
export K3S_TOKEN="your-token-here"
curl -sfL https://get.k3s.io | K3S_URL="https://${K3S_MASTER_IP}:6443"   K3S_TOKEN="${K3S_TOKEN}" sh -

# On master — verify cluster
kubectl get nodes
# NAME           STATUS   ROLES                  AGE   VERSION
# k3s-master     Ready    control-plane,master   1m    v1.31.x
# k3s-worker-1   Ready    <none>                 45s   v1.31.x
# k3s-worker-2   Ready    <none>                 30s   v1.31.x

Implante seu primeiro aplicativo no Kubernetes:

# nginx-deployment.yaml
apiVersion: apps/v1
kind: Deployment
metadata:
  name: nginx
spec:
  replicas: 3
  selector:
    matchLabels:
      app: nginx
  template:
    metadata:
      labels:
        app: nginx
    spec:
      containers:
      - name: nginx
        image: nginx:alpine
        ports:
        - containerPort: 80
---
apiVersion: v1
kind: Service
metadata:
  name: nginx-service
spec:
  type: LoadBalancer
  selector:
    app: nginx
  ports:
  - port: 80
    targetPort: 80

kubectl apply -f nginx-deployment.yaml
kubectl get pods -o wide    # see pods spread across worker nodes
kubectl get svc nginx-service  # get the external IP

Etapa 5: Configurar CI/CD (Gitea + Woodpecker)

Hospede seu próprio GitHub + GitHub Actions equivalente usandoGitea(servidor Git) ePica-pau CI(corredor de pipeline).

# docker-compose.yml on the 'gitea' VM
services:
  gitea:
    image: gitea/gitea:latest
    environment:
      - USER_UID=1000
      - USER_GID=1000
    restart: always
    ports:
      - "3000:3000"   # Web UI
      - "222:22"      # SSH git
    volumes:
      - gitea_data:/data

  woodpecker-server:
    image: woodpeckerci/woodpecker-server:latest
    restart: always
    ports:
      - "8080:8000"
    environment:
      - WOODPECKER_OPEN=true
      - WOODPECKER_GITEA=true
      - WOODPECKER_GITEA_URL=http://gitea:3000
      - WOODPECKER_AGENT_SECRET=supersecret123
    depends_on:
      - gitea

  woodpecker-agent:
    image: woodpeckerci/woodpecker-agent:latest
    restart: always
    environment:
      - WOODPECKER_SERVER=woodpecker-server:9000
      - WOODPECKER_AGENT_SECRET=supersecret123
      - WOODPECKER_BACKEND=docker
    volumes:
      - /var/run/docker.sock:/var/run/docker.sock
    depends_on:
      - woodpecker-server

volumes:
  gitea_data:

Crie um arquivo de pipeline em qualquer repositório Gitea para acionar compilações automatizadas:

# .woodpecker.yml — in your app repo
steps:
  test:
    image: python:3.12-slim
    commands:
      - pip install -r requirements.txt
      - python -m pytest tests/ -v

  build:
    image: docker
    commands:
      - docker build -t myapp:$CI_COMMIT_SHA .
    when:
      branch: main

  deploy:
    image: bitnami/kubectl:latest
    commands:
      - kubectl set image deployment/myapp myapp=myapp:$CI_COMMIT_SHA
    when:
      branch: main

Etapa 6: Monitoramento com Prometheus + Grafana

Implante uma pilha de monitoramento de nível de produção em minutos usando o gráfico Helm kube-prometheus-stack:

# Install Helm
curl https://raw.githubusercontent.com/helm/helm/main/scripts/get-helm-3 | bash

# Add Prometheus community charts
helm repo add prometheus-community https://prometheus-community.github.io/helm-charts
helm repo update

# Install the full monitoring stack (Prometheus + Grafana + Alertmanager)
helm install monitoring prometheus-community/kube-prometheus-stack   --namespace monitoring --create-namespace   --set grafana.adminPassword=admin123

# Access Grafana
kubectl port-forward -n monitoring svc/monitoring-grafana 3000:80
# Browse to http://localhost:3000 (admin / admin123)

O Grafana vem pré-carregado com painéis para CPU do cluster, memória, integridade do pod, E/S de rede e uso de volume persistente.

Etapa 7: Adicionar um proxy reverso (Traefik)

Em vez de lembrar dezenas de números de porta, use o Traefik para rotear todos os serviços por nome de host:

# Install Traefik via Helm
helm repo add traefik https://helm.traefik.io/traefik
helm install traefik traefik/traefik   --namespace traefik --create-namespace

# IngressRoute for Gitea (Traefik CRD)
apiVersion: traefik.containo.us/v1alpha1
kind: IngressRoute
metadata:
  name: gitea
  namespace: default
spec:
  entryPoints:
    - web
  routes:
    - match: Host(`gitea.lab.local`)
      kind: Rule
      services:
        - name: gitea
          port: 3000

Adicione entradas ao arquivo hosts do seu roteador ou DNS local (Pi-hole funciona muito bem), entãogitea.lab.local, grafana.lab.local, etc. resolva para o seu IP Traefik. Não há mais números de porta.

Projetos essenciais para construir

Agora que seu laboratório está funcionando, crie estes projetos para solidificar as habilidades que os empregadores desejam:

  1. Implantar um aplicativo full stack— Frontend + API + banco de dados em k3s com volumes persistentes
  2. Automatize backups— CronJob que faz backup de bancos de dados em um Samba NAS ou armazenamento compatível com S3 (MinIO)
  3. Infraestrutura como código— Recrie todo o seu laboratório com Terraform + Ansible do zero
  4. GitOps com ArgoCD— Substituir comandos manuais do kubectl; todas as alterações passam pelo Git
  5. Reforço da segurança— Adicione Falco (segurança de tempo de execução), NetworkPolicies, funções RBAC
  6. Exercício de recuperação de desastres— Exclua um nó e recupere automaticamente. Teste suas suposições.
🎯 Dica de portfólio:Documente seu laboratório doméstico em um repositório GitHub com diagramas de arquitetura, arquivos README e runbooks. Todo entrevistador de DevOps perguntará “conte-me sobre seu projeto de infraestrutura mais complexo” — seu laboratório domésticoisa resposta.

🔧 Pronto para construir seu laboratório doméstico de DevOps?

Seu laboratório doméstico é o caminho mais rápido para o domínio do DevOps. Quando estiver em execução, aprimore suas habilidades em Linux com nosso guia emTutoriais Linuxe exploreguias de computação em nuvempara entender como a infraestrutura de produção vai além da sua rede doméstica.

Perguntas Frequentes

Qual hardware eu preciso para um laboratório doméstico de DevOps?

Comece com qualquer máquina com mais de 16 GB de RAM. Um mini PC recondicionado (Beelink SER5, Intel NUC) com 32 GB de RAM e SSD NVMe de 1 TB (~US$ 250–300) é o local ideal para executar Proxmox + k3s + CI/CD simultaneamente.

Devo usar Docker ou Kubernetes em meu laboratório doméstico?

Ambos. Comece com Docker para aprender noções básicas de contêiner e, em seguida, adicione k3s (Kubernetes leve). Em 2026, o conhecimento k8s é necessário para a maioria das funções de DevOps – a experiência do seu laboratório doméstico k3s se traduz diretamente.

O que é Proxmox e por que usá-lo?

Proxmox VE é um hipervisor gratuito e de código aberto (como o VMware). Ele permite executar várias VMs em uma máquina — perfeito para simular uma infraestrutura de vários nós sem comprar vários computadores.

Como pratico CI/CD em casa?

Instale Gitea (Git auto-hospedado) + Woodpecker CI em uma VM. Cada git push aciona um pipeline – construa, teste e implante no k3s. Isso reflete exatamente o que as empresas reais fazem na produção.

É necessário um laboratório doméstico para trabalhos de DevOps?

Não estritamente, mas é o maior acelerador de carreira. Você obtém acesso irrestrito, ambientes persistentes, prática real de networking e uma entrevista convincente. A maioria dos engenheiros de DevOps acredita que seu laboratório doméstico é a chave para conseguir cargos seniores.

✍️ Leave a Comment

Your email address will not be published. Required fields are marked *

🌐 Read in:🇬🇧 English🇩🇪 Deutsch🇧🇷 Português🇸🇦 العربية🇮🇳 हिन्दी🇧🇩 বাংলা