Arquitectura¶
Visión general de la arquitectura del homelab.
Visión general¶
Un único nodo Proxmox (NUC11TNKi7 "Luka") aloja un cluster Kubernetes k3s
compuesto por 3 VMs, desplegado con Terraform (provider bpg/proxmox) y
gestionado con Argo CD (GitOps).
flowchart TD
GH[GitHub Repo<br/>homelab] -->|plan/apply vía Actions| TF[Terraform<br/>provider bpg/proxmox]
GH -->|autosync| ACD[Argo CD]
TF -->|crea VMs en pool k8s-homelab| PVE[Proxmox NUC11TNKi7<br/>Luka]
subgraph Cluster["Cluster k3s (VMIDs 9000-9099)"]
CP[kobe<br/>control-plane]
W1[kyrie<br/>worker-1]
W2[kawhi<br/>worker-2]
end
PVE --> Cluster
ACD --> Cluster
subgraph Net["Networking"]
ML[MetalLB<br/>LoadBalancer LAN]
TR[Traefik + Gateway API]
CF[Cloudflare Tunnel 'homelab'<br/>cloudflared en k3s<br/>exposición externa]
end
Cluster --> Net
Stack tecnológico¶
| Capa | Herramienta | Motivo |
|---|---|---|
| Provisioning VMs | Terraform + bpg/proxmox |
IaC declarativa de las VMs |
| Distro K8s | k3s | Curva de aprendizaje suave (vs. Talos), apto para cluster real (vs. Kind) |
| GitOps | Argo CD | UI, mejor para debug en homelab (vs. Flux) |
| LoadBalancer | MetalLB | IPs LAN reales para tráfico no-HTTP (p. ej. DNS/PiHole) |
| Ingress | Traefik + Gateway API | Sustituye a Nginx Proxy Manager; Gateway API como estándar |
| Exposición externa | Cloudflare Tunnel | Sin abrir puertos en el router |
Estado actual (septiembre 2026)¶
Bootstrapada la plataforma: k3s (3 nodos), MetalLB (L2, pool 192.168.20.60–99),
Traefik v3 + Gateway API y Argo CD (https://argocd.local.gorkarevilla.com).
Primeras aplicaciones ya en el cluster (Vaultwarden, Homepage, pgAdmin,
Authentik) y el túnel homelab de Cloudflare exponiendo Vaultwarden, Homepage
y Authentik.
El resto de servicios siguen corriendo en Docker Compose/Portainer (sección
Legacy).