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