Saltar al contenido

[ 00 / Donde corren mis agentes de IA ]

Plataforma KubeLab y Cockpit de Ingeniería

Argo CD v3.4.1 · 2 applications syncedK3s v1.34.4+k3s1

La plataforma híbrida en la nube y bare-metal que opera 24/7 mis agentes de IA autónomos, inferencia edge y flujos GitOps.

La prueba

De quién era el problema
El mío. Es la base de todo mi trabajo: mis propios productos, el trabajo de clientes en staging y el modelo que un cliente puede replicar.
Qué lo limitaba
Un solo operador. Cada cambio en un clúster es una pull request, y a producción solo se promueve después de que yo la fusione.
Resultado medido
Cada servicio dice quién puede llegar a él, medido desde fuera de la malla y comprobado de nuevo cada semana.
Medido en
Dónde comprobarlo
Servicios, y quién puede llegar a ellos

[ 01 / La Fábrica de Ingeniería Detrás de Cada Producto ]

KubeLab es la base operativa sobre la que he construido, probado y desplegado cada proyecto, herramienta open-source y producto de mi portfolio (incluyendo Pollex, Hive MCP Server, la API de KubeLab y esta misma web en Astro). Funciona sobre máquinas alquiladas en Hetzner Cloud (Alemania) y Google Cloud y sobre un homelab bare-metal en EE. UU., como clústeres K3s independientes de un solo nodo.

Nada de lo que muestro es una demo aislada de tutorial: cada carga de trabajo se compila en local, se valida en staging, se protege con autenticación Zero-Trust y se opera 24/7 mediante pipelines GitOps inmutables.

01 · GitOps Reproducible

Infraestructura como código con Ansible, Terraform y K3s. Argo CD reconcilia los clústeres con Git.

02 · Edge AI y Privacidad

Inferencia LLM local en una Jetson Nano. El prompt no sale de casa.

03 · Memoria de los agentes

RAG AST en Hive MCP que da a los agentes solo el contexto que necesita cada tarea.

[ 02 / Servicios, y quién puede llegar a ellos ]

Cada fila dice quién puede llegar al servicio, medido desde fuera de la malla. Solo los de la malla quedan fuera de internet: no hay una sola regla de port-forwarding en mi red residencial de Estados Unidos, así que para esos no hay ni dirección que exponer.

13 documentados aquí

  • Público 3
  • Tras Authelia 3
  • Login propio 4
  • Solo malla 3

Acceso medido desde fuera de la malla el .

EstadoServicioCategoríaAccesoNodoDirecciónDescripción y Stack
// Gateway Principal
KubeLab Platform API
Gateway PrincipalPúblicovpsapi.kubelab.live/health

API en Go de alto rendimiento, rate limiting por token bucket y telemetría de plataforma.

GoTraefikArgoCDKubernetes
Traefik Ingress Proxy
Gateway PrincipalTras Autheliavpstraefik.kubelab.live

Enrutador Ingress L7 en cloud y edge con terminación TLS automática Let's Encrypt.

TraefikK3sLet's EncryptCrowdSec
Headscale Mesh VPN
Gateway PrincipalLogin propiovpsvpn.kubelab.live

Plano de control WireGuard autoalojado con MagicDNS y enrutamiento aislado.

WireGuardGoTailscaleSQLite
Authelia Zero-Trust Auth
Gateway PrincipalLogin propiovpsauth.kubelab.live

Autenticación de doble factor y proveedor forward-auth para servicios internos.

AutheliaRedisTOTPDuo
CoreDNS & Pi-hole Split Gateway
Gateway PrincipalSolo mallarpi4—

Demonio Split DNS autoritativo y sinkhole de red que enruta zonas de staging y microservicios.

CoreDNSPi-holeGoDNSSEC
// IA e Inferencia
Pollex Edge AI
IA e InferenciaPúblicojetsonmlorentedev.github.io/pollex

Corrección de textos en inglés con un Qwen 2.5 1.5B local, servido por llama.cpp en la GPU, con respaldo opcional en la nube.

Gollama.cppCUDA
Hive MCP Server
IA e InferenciaPúblicovpsmlorentedev.github.io/hive

Fragmentador basado en AST y capa de memoria MCP para flujos multi-agente.

PythonFastMCPTree-sitterSQLite FTS5
// GitOps y Entrega
Argo CD GitOps Hub
GitOps y EntregaLogin propiogcp1argo.kubelab.live

Entrega continua GitOps declarativa sincronizando clústeres K3s con detección de drift.

ArgoCDKubernetesKustomizeHelm
Gitea On-Prem Forge
GitOps y EntregaLogin propioBajo demandabeelinkgitea.kubelab.live

Repositorio Git ligero autoalojado y mirror de CI automatizado para código privado.

GiteaGoPostgreSQLSSH
// Observabilidad
Grafana Telemetry
ObservabilidadTras Autheliavpsgrafana.kubelab.live

Visualización centralizada de métricas, dashboards de clúster y gráficas de latencia.

GrafanaPrometheusLokiGlances
Loki Log Aggregator
ObservabilidadSolo mallavps—

Sistema escalable de agregación de logs indexado por etiquetas de pods de K8s.

LokiPromtailGoS3 Storage
Uptime Kuma Probes
ObservabilidadTras Autheliarpi3status.kubelab.live

Monitor sintético independiente HTTP/ICMP con historial de disponibilidad.

Node.jsVueSQLiteDocker
// Almacenamiento y Datos
MinIO S3 Object Store
Almacenamiento y DatosSolo mallavps—

Almacenamiento de objetos distribuido compatible con S3 para backups y modelos de IA.

MinIOGoS3 APIK3s

[ 03 / Las máquinas de debajo ]

8 máquinas: 2 alquiladas a 2 proveedores en la nube y 6 en mi casa, más 1 de reserva en AWS que Terraform recrea cuando hace falta. Solo 3 ejecutan Kubernetes, cada una como su propio clúster de un solo nodo en vez de formar parte de uno compartido: un plano de control compartido que puede llevarse por delante toda la flota no es un homelab, es un único punto de fallo con pasos de más.

8 máquinas · 3 clústeres K3s independientes · 1 de reserva

  • Hetzner Cloud VPSoperativo

    Ingress de Producción y Core IDP

    k3s · ARM64 · 4 vCPU (Ampere Neoverse-N1) · 7.5 GB · Nuremberg (Germany)

  • Google Cloud Platform Huboperativo

    Plano de Control GitOps Argo CD (ADR-063)

    k3s · x86_64 · 2 vCPU (AMD EPYC 7B12) · 2 GB · Eemshaven (Netherlands)

  • Acemagic Staging Clusteroperativo

    Clúster Staging K3s y Cargas Pesadas

    k3s · x86_64 · Intel N95 (4c) · 11.5 GB · Homelab (USA)

  • Acemagic Dev & Agent Nodeoperativo

    Desarrollo remoto y workspaces de agentes

    docker · x86_64 · Intel N95 (4c) · 11.5 GB · Homelab (USA)

  • NVIDIA Jetson Nanooperativo

    Nodo de Inferencia GPU Edge AI

    systemd · ARM64 · 4c Cortex-A57 · 128-core Maxwell GPU · 3.9 GB LPDDR4 · Edge Hardware (USA)

  • Beelink Forge & CI Runneroperativo

    Forge Git, runner de CI y almacén de objetos

    docker · x86_64 · Intel N95 (4c) · 7.5 GB · Homelab (USA)

  • Raspberry Pi 4 Gatewayoperativo

    Gateway de DNS Split y Pi-hole

    docker · ARM64 · Broadcom BCM2711 (4c) · 7.6 GB · Homelab (USA)

  • Raspberry Pi 3 Monitoroperativo

    Telemetría y Uptime Kuma

    docker · ARM64 · Broadcom BCM2837 (4c) · 0.9 GB · Homelab (USA)

  • AWS Standby Huben reserva

    Standby en frío del hub de Argo CD

    ARM64 · 2 vCPU (Graviton2) · 2 GB · Not provisioned; Terraform recreates it (eu-central-1)

[ 04 / Dónde corre cada cosa ]

Las 8 máquinas. La reserva en AWS aparece en la lista de arriba pero no en el dibujo, porque solo existe mientras Terraform la tiene aprovisionada. Las 3 que ejecutan K3s tienen cada una un clúster de un solo nodo, sin plano de control compartido.

Eight machines, three Kubernetes clusters An architecture diagram generated by Archify. gcp1 · Argo CD hub · Always-on cloud · K3s, 1 node gcp1 Argo CD hub K3s, 1 node Hetzner VPS · Traefik · API · Web · Authelia · Always-on cloud · K3s, 1 node Hetzner VPS Traefik · API · Web · Authelia K3s, 1 node RPi3 · Uptime Kuma · Always-on cloud · no K8s RPi3 Uptime Kuma no K8s RPi4 gateway · Pi-hole · CoreDNS · Homelab, on demand · no K8s RPi4 gateway Pi-hole · CoreDNS no K8s ace1 · staging workloads · Homelab, on demand · K3s, 1 node ace1 staging workloads K3s, 1 node ace2 · agent workspaces · Homelab, on demand · no K8s ace2 agent workspaces no K8s Beelink · Gitea · CI · MinIO · Homelab, on demand · no K8s Beelink Gitea · CI · MinIO no K8s Jetson Nano · local inference · Homelab, on demand · no K8s Jetson Nano local inference no K8s reconciles reconciles mesh mesh Always-on cloud Homelab, on demand Legend Backend Database Cloud Message bus
El resolutor, el monitor y la forja se quedan fuera de Kubernetes a propósito: cada uno tiene que seguir funcionando mientras la plataforma está rota. Una malla WireGuard une la flota sin abrir ningún puerto de entrada.

Generado en el build desde src/diagrams/topology.architecture.json

[ 05 / Cómo llega un cambio a producción ]

Un push a master produce una única imagen multiarquitectura. Staging la ejecuta sin intervención; producción ejecuta esos mismos bytes solo cuando se mergea una pull request de release.

One push, one image, two environments An architecture diagram generated by Archify. Push to master · mlorentedev/web · mlorentedev/web — one build per push · Conventional Commits Push to master mlorentedev/web Conventional Commits release.yml · one multi-arch build · mlorentedev/web — one build per push · sha-abc1234 release.yml one multi-arch build sha-abc1234 Docker Hub · kubelab-web · mlorentedev/web — one build per push · one digest Docker Hub kubelab-web one digest repository_dispatch · web-image-published · Architecture component · needs a PAT repository_dispatch web-image-published needs a PAT Staging overlay PR · make promote · Architecture component · merged by hand Staging overlay PR make promote merged by hand staging · ace1 · Reconciled from Git, never pushed to · VPN-only DNS staging ace1 VPN-only DNS Re-tag the digest · X.Y.Z and latest · Architecture component · no rebuild Re-tag the digest X.Y.Z and latest no rebuild Argo CD · reconciles from Git · Reconciled from Git, never pushed to · gcp1 hub Argo CD reconciles from Git gcp1 hub production · Hetzner VPS · Reconciled from Git, never pushed to · Traefik, Cloudflare production Hetzner VPS Traefik, Cloudflare on merge builds once dispatch opens a PR same digest when merged prod overlay syncs syncs mlorentedev/web — one build per push Reconciled from Git, never pushed to Legend Frontend Backend Database Cloud Message bus
La promoción reetiqueta un digest en lugar de reconstruir, así que lo que sirve producción es lo que validó staging. Argo CD reconcilia ambos clústeres desde Git: no se despliega nada contra ellos.

Generado en el build desde src/diagrams/flows.architecture.json

[ 06 / Catálogo de la plataforma interna de desarrollo (IDP) ]

El cockpit operativo y suite de herramientas: costes reales de infraestructura cloud, runbooks de incidentes, postura de seguridad y dependencias upstream.

Coste Cloud Mensual25,10 US$(septiembre de 2026, según precios de lista y facturas)
Dominios OperativosOps · Triage · Seguridad · Herramientas · Estado · Docs

[ 07 / Plano de ejecución autónomo ]

¿Cómo construyo en la era de los agentes?

Un modelo de IA sin límites acaba haciendo daño. Esta plataforma es donde trabajan los agentes — acotados por semáforos POSIX en el kernel, worktrees efímeros de Git compartiendo .git/objects y revisión adversarial cruzada.

Cifras reconciliadas contra el clúster por última vez el · df583db