¿Qué es K3s?
K3s es una distribución de Kubernetes empaquetada en un binario de menos de 100 MB. Se mantiene conforme con el Kubernetes de upstream e incluye containerd, red Flannel, CoreDNS, Traefik como ingress, un balanceador de carga de servicios, almacenamiento local-path y un controlador de Helm, cualquiera de los cuales se puede desactivar o sustituir. Un servidor único guarda el estado del clúster en SQLite por defecto; tres o más servidores forman un clúster de alta disponibilidad sobre etcd integrado, y también funcionan MySQL, MariaDB o Postgres externos.
Nació en Rancher Labs, se donó a la CNCF en junio de 2020 y SUSE lo describe como proyecto Sandbox de la CNCF, con SUSE como colaborador principal. El software es Apache 2.0 y no tiene edición de pago; SUSE vende soporte con su suscripción Rancher Prime, con hasta cinco años de soporte por versión.
Para trabajo con GPU, K3s detecta el NVIDIA container runtime al arrancar, lo añade a su configuración de containerd e incluye una RuntimeClass llamada nvidia. Los números de versión siguen a Kubernetes: v1.37.2+k3s1 y v1.36.6+k3s1 salieron el 3 de noviembre de 2026.
¿Merece la pena K3s?
K3s es la forma sensata de poner servicios de inferencia y de agentes bajo Kubernetes cuando tienes unas pocas máquinas y no un equipo de plataforma. Como es Kubernetes conforme, los charts de Helm para servidores de modelos, el NVIDIA device plugin y la mayoría de operadores se instalan sin cambios, y la documentación pide solo 2 núcleos y 2 GB de RAM en un nodo servidor y 512 MB en un agente, antes de las cargas de trabajo. El repositorio tiene unas 34.400 estrellas en GitHub, y el proyecto aspira a publicar parches en menos de una semana tras upstream y nuevas versiones menores en 30 días.
El soporte de GPU es casi automático, con una trampa conocida. Instala los paquetes del container runtime de NVIDIA en el host, reinicia K3s y este escribe el runtime en containerd; los pods piden entonces nvidia.com/gpu y fijan runtimeClassName: nvidia. Pero el NVIDIA device plugin espera que nvidia sea el runtime por defecto, y usuarios en una larga discusión de K3s en GitHub cuentan que el plugin entra en un bucle de fallos hasta que fijan --default-runtime nvidia o editan la plantilla config.toml.tmpl de K3s. El GPU Operator de NVIDIA también funciona, pero su toolkit debe apuntar al socket de containerd propio de K3s y a sus rutas de configuración; la documentación de K3s no lo cubre y la guía de instalación actual de NVIDIA no incluye K3s.
El modo de un solo nodo por defecto es una concesión real. SQLite en un servidor no tiene failover. La alta disponibilidad necesita tres o más servidores sobre etcd integrado, en número impar para mantener el quórum, y la documentación advierte de que etcd escribe demasiado para tarjetas SD o eMMC, así que los equipos del edge necesitan un SSD. Un servidor único puede pasar a etcd más tarde reiniciando con --cluster-init. El puerto VXLAN de Flannel, el 8472, debe quedar tras un cortafuegos, porque según la documentación exponerlo abre la red del clúster a cualquiera. GitHub recoge tres avisos de seguridad del proyecto, el último un fallo moderado de path traversal al restaurar instantáneas de etcd, publicado en junio de 2026.
En un solo host con GPU que ejecuta un servidor de modelos, una base de datos vectorial y una API de agentes, Docker Compose suele bastar: reserva GPU por servicio con un bloque devices y no deja ningún plano de control que parchear. K3s compensa en cuanto hay un segundo host con GPU entre el que repartir, hacen falta actualizaciones graduales o hay decenas de sedes en el edge que gestionar desde Git, justo el caso para el que SUSE vende Rancher Prime. SUSE no publica el precio de ese soporte en su página de K3s.
Dónde se gana su sitio
Un equipo de ML de dos personas con tres servidores con GPU
Repartir servidores de modelos y una API de agentes entre las tres máquinas sin colocar contenedores a mano
Instala K3s con el script de curl en cada host, añade los paquetes de runtime de NVIDIA, arranca los servidores con --default-runtime nvidia y despliega el device plugin y los servidores de modelos con Helm. El planificador coloca los pods donde haya GPU libres; el software no cuesta nada y el coste real es aprender kubectl y parchear tres nodos con cada versión.
El responsable de TI de una cadena de 40 tiendas que ejecuta modelos de visión pequeños en mini PC en cada tienda
Ejecutar el mismo contenedor de inferencia en todas las tiendas y actualizarlas desde un solo sitio
Cada tienda ejecuta K3s de un nodo sobre SQLite, que necesita 2 núcleos y 2 GB para el propio K3s. Rancher Prime añade gestión de flotas con GitOps entre clústeres y soporte del fabricante, con precio bajo petición; sin él, el equipo se encarga de las actualizaciones y la monitorización en cada sede.
Un desarrollador en solitario que aloja un stack de agentes en una estación de trabajo con una GPU
Decidir si Ollama, Qdrant y una API de agentes deben ir bajo Kubernetes
Docker Compose reserva la GPU por servicio con un bloque devices y no tiene plano de control. K3s añade reinicios tras comprobaciones de salud y actualizaciones graduales a cambio de su propio consumo y de nuevas herramientas; en una sola máquina Compose suele bastar, y K3s empieza a tener sentido cuando llega un segundo host con GPU.
Antes de decidirte
- Puesta en marcha
- curl -sfL https://get.k3s.io | sh - instala un servicio de systemd u openrc y escribe un kubeconfig en /etc/rancher/k3s/k3s.yaml; los workers se unen con K3S_URL y el token de /var/lib/rancher/k3s/server/node-token. Binarios para x86_64, armhf, arm64 y s390x.
- Integraciones
- Herramientas estándar de Kubernetes (kubectl, Helm, drivers CSI, cloud controller managers; los drivers de almacenamiento y proveedores cloud in-tree se han eliminado). NVIDIA, crun y varios runtimes de WebAssembly se detectan automáticamente; el GPU Operator necesita CONTAINERD_CONFIG y CONTAINERD_SOCKET apuntando a las rutas de K3s.
- Datos y privacidad
- Apache 2.0 sin edición de pago. El estado del clúster vive en SQLite, en etcd integrado o en una base de datos externa que gestionas tú. Mantén el puerto 8472 (Flannel VXLAN) fuera de internet. Tres avisos de seguridad en GitHub, el más reciente moderado (junio de 2026).
- Coste a escala
- El software es gratuito. La documentación dimensiona un servidor con 2 vCPU y 4 GB para hasta 350 agentes y con 4 vCPU y 8 GB para hasta 900; tres servidores con 4 vCPU y 8 GB llegan a unos 1.200 agentes. Las GPU dominan la factura, y el soporte de Rancher Prime tiene precio bajo petición.
- Límites
- 78 issues y pull requests abiertos. El modo rootless es experimental y solo para un nodo; la alta disponibilidad requiere un número impar de servidores; instalar el GPU Operator es una vía documentada por la comunidad, no oficial.
Lo bueno
- Kubernetes conforme en un binario de menos de 100 MB
- Detecta el NVIDIA container runtime e incluye una RuntimeClass nvidia
- Un nodo servidor necesita solo 2 núcleos y 2 GB de RAM
- Hasta cinco años de soporte de pago con SUSE Rancher Prime
Lo malo
- El NVIDIA device plugin exige nvidia como runtime por defecto
- El GPU Operator necesita rutas de containerd propias de K3s y no está documentado aquí
- El modo por defecto de un servidor con SQLite no tiene failover
- Más que aprender y parchear que Docker Compose en un solo host
Ideal para
Equipos pequeños que ejecutan servicios de inferencia o de agentes en unas pocas máquinas con GPU o en muchas sedes del edge y quieren Kubernetes sin un equipo de plataforma.
Alternativas a K3s
K3s: preguntas frecuentes
- ¿Merece la pena K3s?
- Kubernetes a la medida de un puñado de máquinas con GPU o de una flota de sedes en el edge, aunque en una sola máquina Docker Compose sigue cumpliendo con menos mantenimiento. Le damos un 4.4 sobre 5.
- ¿Cuánto cuesta K3s?
- Gratuito y de código abierto bajo Apache 2.0, sin edición de pago. El soporte comercial llega a través de SUSE Rancher Prime (hasta cinco años por versión); precios bajo petición.
- ¿Qué inconvenientes tiene K3s?
- El NVIDIA device plugin exige nvidia como runtime por defecto; el GPU Operator necesita rutas de containerd propias de K3s y no está documentado aquí; el modo por defecto de un servidor con SQLite no tiene failover; más que aprender y parchear que Docker Compose en un solo host.
- ¿Para quién es K3s?
- Equipos pequeños que ejecutan servicios de inferencia o de agentes en unas pocas máquinas con GPU o en muchas sedes del edge y quieren Kubernetes sin un equipo de plataforma.
- ¿Cuánto cuesta K3s para un equipo o en producción?
- El software es gratuito. La documentación dimensiona un servidor con 2 vCPU y 4 GB para hasta 350 agentes y con 4 vCPU y 8 GB para hasta 900; tres servidores con 4 vCPU y 8 GB llegan a unos 1.200 agentes. Las GPU dominan la factura, y el soporte de Rancher Prime tiene precio bajo petición.
- ¿Es K3s seguro para los datos de la empresa?
- Apache 2.0 sin edición de pago. El estado del clúster vive en SQLite, en etcd integrado o en una base de datos externa que gestionas tú. Mantén el puerto 8472 (Flannel VXLAN) fuera de internet. Tres avisos de seguridad en GitHub, el más reciente moderado (junio de 2026).
- ¿Cuáles son las mejores alternativas a K3s?
- Las alternativas más cercanas que hemos analizado son Ollama, Mesh LLM y vLLM.
Respuestas comprobadas el 9 nov 2026.