Learn how Kubernetes automates the deployment and scaling of AI models. Explore orchestrating [Ultralytics YOLO26](https://docs.ultralytics.com/models/yolo26/) for production workflows and MLOps.
Kubernetes, a menudo denominado K8s, es una plataforma de código abierto diseñada para automatizar la implementación, el escalado y la gestión de aplicaciones en contenedores. Desarrollado originalmente por Google ahora mantenido por la Cloud Native Computing Foundation (CNCF), Kubernetes se ha convertido en el estándar para la orquestación de software en la nube. En el contexto de la inteligencia artificial (IA) y el aprendizaje automático (ML), sirve como la capa de infraestructura crítica que permite a los equipos de ingeniería gestionar flujos de trabajo complejos, desde la formación distribuida hasta la inferencia de producción de alta disponibilidad . Al abstraer el hardware subyacente, Kubernetes garantiza que las aplicaciones se ejecuten de forma fiable y eficiente, independientemente de si están alojadas en las instalaciones o a través de proveedores de nube pública.
En esencia, Kubernetes opera en una arquitectura de clúster, que consiste en un conjunto de máquinas de trabajo llamadas nodos. Estos nodos ejecutan cargas de trabajo de contenedorización, mientras que un plano de control gestiona el estado general del clúster. La unidad más pequeña que se puede implementar en Kubernetes es un «pod», que encapsula uno o más contenedores que comparten recursos de almacenamiento y red. Esta abstracción es vital para las aplicaciones de visión por ordenador, ya que permite a los desarrolladores empaquetar dependencias, como CUDA específicas para unidades de procesamiento gráfico (GPU)— en un entorno coherente. Los principales servicios en la nube, como Amazon Elastic Kubernetes Service (EKS), Azure Kubernetes Service (AKS) y Google Engine (GKE), ofrecen versiones gestionadas de esta arquitectura, lo que simplifica la carga de mantenimiento para los equipos de ciencia de datos.
El principal valor de Kubernetes en las operaciones de aprendizaje automático (MLOps) radica en su capacidad para gestionar cargas de trabajo dinámicas. Los modelos de IA suelen requerir una enorme potencia computacional durante el entrenamiento y una baja latencia de inferencia durante la implementación.
Kubernetes es la columna vertebral de muchas implementaciones de IA a gran escala en diversos sectores:
Un punto común de confusión es la relación entre Kubernetes y Docker. No son competidores, sino tecnologías complementarias . Docker es una herramienta para crear y ejecutar contenedores individuales (empaquetar la aplicación), mientras que Kubernetes es una herramienta para gestionar una flota de esos contenedores en varias máquinas. Se utiliza Docker para crear los pesos del modelo y el código en una imagen, y luego se utiliza Kubernetes para determinar dónde, cuándo y cuántas copias de esa imagen se ejecutan en producción.
Para implementar un modelo en Kubernetes, los desarrolladores suelen empezar con un Python que actúa como punto de entrada para el contenedor. El siguiente código muestra una tarea de inferencia sencilla utilizando el modelo Ultralytics . Este script se ejecutaría dentro de un pod, procesando las solicitudes entrantes.
from ultralytics import YOLO
# Load the lightweight YOLO26 model
model = YOLO("yolo26n.pt")
# Perform inference on an image source
# In a K8s pod, this would likely process API payloads
results = model("https://ultralytics.com/images/bus.jpg")
# Output the detection count for logging
print(f"Detected {len(results[0].boxes)} objects in the frame.")
El ecosistema Kubernetes incluye una amplia gama de herramientas diseñadas para la ciencia de datos. Kubeflow es un popular kit de herramientas dedicado a hacer que las implementaciones de flujos de trabajo de ML en Kubernetes sean sencillas, portátiles y escalables. Para supervisar el estado del clúster y las métricas de las aplicaciones, los ingenieros suelen recurrir a Prometheus. Para simplificar aún más la complejidad del entrenamiento y la implementación de modelos en estos entornos, la Ultralytics ofrece una interfaz unificada que automatiza la gestión de conjuntos de datos y el entrenamiento de modelos, lo que permite a los usuarios exportar modelos listos para clústeres de computación en la nube. Además, los gestores de paquetes como Helm ayudan a gestionar aplicaciones complejas de Kubernetes mediante gráficos reutilizables.