📋 Table of Contents
- Por que construir um laboratório doméstico?
- Hardware: o que você realmente precisa
- Etapa 1: Instale o Proxmox VE
- Etapa 2: Crie suas primeiras VMs
- Etapa 3: Instale o Docker e o Docker Compose
- Etapa 4: implantar Kubernetes com k3s
- Etapa 5: Configurar CI/CD (Gitea + Woodpecker)
- Etapa 6: Monitoramento com Prometheus + Grafana
- Etapa 7: Adicionar um proxy reverso (Traefik)
- Projetos essenciais para construir
- Perguntas Frequentes
- Por que construir um laboratório doméstico?
- Hardware: o que você realmente precisa
- Etapa 1: Instale o Proxmox VE
- Etapa 2: Crie suas primeiras VMs
- Etapa 3: Instale o Docker e o Docker Compose
- Etapa 4: implantar Kubernetes com k3s
- Etapa 5: Configurar CI/CD (Gitea + Woodpecker)
- Etapa 6: Monitoramento com Prometheus + Grafana
- Etapa 7: Adicionar um proxy reverso (Traefik)
- Projetos Essenciais para Construir
- Perguntas frequentes
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.
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.
- Baixe o ISO do Proxmox emproxmox.com/downloads
- Flash para uma unidade USB:
dd if=proxmox-ve_*.iso of=/dev/sdX bs=1M status=progress - Inicialize a partir de USB, instale em seu SSD NVMe
- Acesse a interface da web em
https://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:
- Implantar um aplicativo full stack— Frontend + API + banco de dados em k3s com volumes persistentes
- Automatize backups— CronJob que faz backup de bancos de dados em um Samba NAS ou armazenamento compatível com S3 (MinIO)
- Infraestrutura como código— Recrie todo o seu laboratório com Terraform + Ansible do zero
- GitOps com ArgoCD— Substituir comandos manuais do kubectl; todas as alterações passam pelo Git
- Reforço da segurança— Adicione Falco (segurança de tempo de execução), NetworkPolicies, funções RBAC
- Exercício de recuperação de desastres— Exclua um nó e recupere automaticamente. Teste suas suposições.
🔧 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.
🔗 Share this article
✍️ Leave a Comment