Saltar a contenido

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).