Lo que aprenderás en esta guía
Este es un artículo técnico y profundo redactado por los ingenieros de ForgeNEX. Está diseñado para profesionales que buscan implementar soluciones sólidas y evitar los errores comunes que cuestan horas de producción.
El paradigma del cloud nativo no siempre requiere hipervisores pesados ni infraestructuras en la nube pública. En entornos industriales, telco (Edge Computing), o escenarios donde el rendimiento puro I/O y la latencia son críticos, el despliegue de Kubernetes directamente sobre servidores físicos (Bare Metal) es la arquitectura óptima.
Rancher K3s se ha consolidado como la distribución de Kubernetes certificada ideal para estos casos de uso: un binario único, dependencias mínimas (empaqueta containerd, Flannel, CoreDNS, Traefik) y un modelo de datos respaldado por un datastore embebido (etcd o bases de datos SQL relacionales).
A continuación, delineamos la arquitectura de referencia de ForgeNEX para un despliegue B2B de alta disponibilidad (HA) de K3s en bare metal.
Topología de Alta Disponibilidad (HA) con etcd Embebido
Para despliegues de grado de producción, la arquitectura recomendada consta de un mínimo de 3 nodos Control Plane (que también pueden ejecutar cargas de trabajo, aunque es recomendable aplicarles taints en entornos densos) y N nodos Worker.
K3s soporta HA nativo utilizando un clúster etcd distribuido e integrado, eliminando la necesidad de provisionar un clúster de base de datos externo.
Requisitos del Sistema (Nodos Físicos)
- OS: Ubuntu 24.04 LTS o Debian 12 (Kernel moderno para eBPF si se desea reemplazar kube-proxy con Cilium).
- Red: Direcciones IP estáticas configuradas. Un balanceador de carga externo de capa 4 (HAProxy, Keepalived, o F5) apuntando al puerto
6443de todos los nodos Control Plane para proveer un endpoint estable al API Server.
[!NOTE] En entornos bare metal, Kubernetes carece de un proveedor nativo para servicios de tipo
LoadBalancer. Recomendamos deshabilitar el ServiceLB nativo de K3s y desplegar MetalLB en modo BGP o L2 para anunciar IPs de servicios hacia los switches ToR (Top of Rack) de tu centro de datos.
Proceso de Inicialización del Clúster
El proceso de instalación de K3s utiliza un script que descarga y configura el binario como un servicio systemd.
Paso 1: Inicializar el Primer Nodo Control Plane
En el primer servidor físico (nodo-cp-01), ejecutamos la instalación pasando parámetros clave: habilitar cluster-init (para crear el primer miembro etcd), deshabilitar Traefik y ServiceLB (para usar Ingress Nginx y MetalLB posteriormente si se requiere un stack más estándar de empresa) e indicar la IP del balanceador de carga externo o un alias DNS.
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server \
--cluster-init \
--tls-san api.k3s.forgenex.local \
--disable servicelb \
--disable traefik \
--node-taint CriticalAddonsOnly=true:NoExecute" \
K3S_TOKEN="TOKEN_SECRETO_ENTERPRISE_2026" sh -Paso 2: Unir Nodos Control Plane Adicionales
En los nodos físicos secundarios (nodo-cp-02 y nodo-cp-03), ejecutamos el comando apuntando al endpoint de la API y proporcionando el mismo token de clúster.
curl -sfL https://get.k3s.io | INSTALL_K3S_EXEC="server \
--server https://api.k3s.forgenex.local:6443 \
--tls-san api.k3s.forgenex.local \
--disable servicelb \
--disable traefik \
--node-taint CriticalAddonsOnly=true:NoExecute" \
K3S_TOKEN="TOKEN_SECRETO_ENTERPRISE_2026" sh -Una vez desplegados, la validación del clúster etcd asegura el quórum.
# Comprobar el estado de los nodos control plane (desde un CP)
k3s kubectl get nodesPaso 3: Unir Nodos Worker (Planos de Datos)
Para los servidores que procesarán puramente cargas de trabajo intensivas, instalamos el agente K3s:
curl -sfL https://get.k3s.io | K3S_URL=https://api.k3s.forgenex.local:6443 \
K3S_TOKEN="TOKEN_SECRETO_ENTERPRISE_2026" sh -Gestión de Almacenamiento Persistente (CSI) en Bare Metal
Al carecer de discos EBS como en AWS, la gestión del estado en bare metal recae sobre soluciones locales. En ForgeNEX implementamos:
- Local Path Provisioner (incluido en K3s) para cargas que toleran pérdida temporal o replican a nivel de aplicación (ej. bases de datos NoSQL distribuidas).
- Longhorn como CSI principal: Provee almacenamiento distribuido por bloques replicando discos físicos NVMe subyacentes entre los workers, garantizando HA en los PersistentVolumes.
[!IMPORTANT] Antes de desplegar Longhorn, asegúrate de instalar en todos los nodos físicos el paquete
open-iscsiynfs-common, dependencias obligatorias del motor CSI.
Conclusión
El despliegue de K3s sobre hardware físico representa una fusión potente: la agilidad orquestada de Kubernetes con el rendimiento y predecibilidad absoluta de los ciclos de CPU y bus PCIe. Dominar este stack abre la puerta al verdadero edge computing empresarial sin comprometer las políticas de seguridad ni la escalabilidad horizontal.
¿Demasiado complejo para tu equipo?
En ForgeNEX gestionamos este tipo de soluciones tecnológicas todos los días. Evita riesgos y delega la implementación en nuestros expertos.
- Respuesta en menos de 2 horas
- Auditamos tu caso sin compromiso
- Expertos certificados