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-infra] -->|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<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 |