Stack tecnológico¶
Inventario de tecnologías del HomeLab: diagrama por capas + lista con enlaces oficiales en el nombre de cada producto.
Parte de la guía de implementación. Vista C4 (modelo C4) complementaria: Arquitectura · Nivel 3 — Componentes · Nivel 4 — Despliegue.
Diagrama por capas¶
flowchart TB
subgraph capa0 [Capa 0 — Hardware y SO]
HW[Nodos_fisicos_Debian]
Netplan[Netplan_br0]
Ansible[Ansible]
end
subgraph capa1 [Capa 1 — Virtualizacion]
Incus[Incus_cluster]
IncusUI[Incus_UI]
end
subgraph capa2 [Capa 2 — Orquestacion base]
K3s[K3s]
KubeVip[kube_vip_opcional]
end
subgraph capa3 [Capa 3 — GitOps y red de servicios]
ArgoCD[Argo_CD]
Dex[Dex]
GitHub[GitHub_OAuth]
MetalLB[MetalLB]
Gateway[Gateway_API_Kong]
end
subgraph capa4 [Capa 4 — Datos y secretos]
OpenEBS[OpenEBS]
Longhorn[Longhorn]
SealedSecrets[Sealed_Secrets]
OnePassword[1Password_SDK]
end
subgraph capa5 [Capa 5 — Plataforma y workloads opcionales]
VCluster[vCluster_Platform]
CAPI[Cluster_API]
CAPN[CAPN]
SUC[system_upgrade_controller]
end
HW --> Netplan --> Incus
Incus --> IncusUI
Dex --> IncusUI
Netplan --> K3s
K3s --> KubeVip
K3s --> ArgoCD
ArgoCD --> Dex
Dex --> GitHub
ArgoCD --> MetalLB --> Gateway
ArgoCD --> OpenEBS
ArgoCD --> Longhorn
ArgoCD --> SealedSecrets
Dex --> VCluster
K3s --> CAPI --> CAPN
Incus --> CAPN
ArgoCD --> SUC
Capa 0 — Bootstrap¶
- Ansible — Automatización idempotente de SO, red, Incus y K3s (distribución ligera de Kubernetes); Fases 0–3.
- Netplan — IP estática en
br0; Fase 1; identidad de nodo para Incus/K3s/CAPN. - Debian — SO base en los 3 nodos; prerequisito global.
Capa 1 — Virtualización¶
- Incus — Clúster LXC/VM con quorum; Fase 2; sustrato para CAPN (Cluster API Provider for Incus) e instancias.
- Incus UI — Administración web del clúster Incus; Fase 2 (cert) + Fase 4 (OIDC Dex).
- Zabbly Incus stable — Repo de paquetes; Fase 2.
Capa 2 — Kubernetes management¶
- K3s — Management cluster bare-metal; Fase 3.
- kube-vip — VIP (IP virtual) opcional del API (Application Programming Interface)
:6443; Fase 3 (fork). - CNI (elegir uno) — Fase 3:
- Flannel — default embebido en K3s (
vxlanenbr0) - Canal — Flannel + políticas Calico
- Calico — NetworkPolicy, BGP (Border Gateway Protocol) opcional
- Cilium — eBPF, Hubble, políticas L3–L7
CNI
Flannel
Cero pasos extra en K3s
Sin NetworkPolicy nativa
Canal
Políticas sobre overlay conocido
Legacy; dos stacks
Calico
Madurez y BGP en L2
Más pods/RAM
Cilium
Observabilidad eBPF
CPU/kernel; validar ARM64
Capa 3 — GitOps, red y acceso¶
- Argo CD — ApplicationSet de bootstrap (
homelab-root) desde GitHub, por olas; Fase 4. - Dex — IdP OIDC (OpenID Connect) embebido en ArgoCD; SSO (inicio de sesión único) para ArgoCD, vCluster Platform e Incus UI (interfaz de usuario); Fase 4.
- GitHub — Connector OAuth + repos GitOps; Fase 4.
- MetalLB — LoadBalancer en LAN (red local); Fase 4 wave 0–1.
- Gateway API con Kong Ingress Controller — HTTP(S) hacia ArgoCD y vCluster; Fase 4 wave 1 (alternativas: Traefik, NGINX Gateway Fabric).
- 1Password Python SDK — Secretos OAuth desde la app local; Fase 4.
Capa 4 — Storage y secretos en clúster¶
- OpenEBS — LocalPV default; Fase 4 wave 0.
- Longhorn — Storage replicado cross-arch; Fase 4 wave 1.
- Sealed Secrets — Secretos cifrados en git; Fase 4 y 6.
- SOPS — Cifrado pre-bootstrap; profundización Secretos.
Capa 5 — Opcionales y operaciones¶
- vCluster Platform — Clústeres virtuales + kubeconfig web (host K3s y vclusters); Fase 5.
- Cluster API — API declarativa de clusters; Fase 6.
- CAPN — Provider Incus para CAPI (Cluster API); Fase 6.
- clusterctl — CLI (interfaz de línea de comandos) bootstrap CAPI; Fase 6.
- system-upgrade-controller — Upgrades K3s escalonados; Fase 4 wave 3.