¡Sintonice YOLO Vision 2025!
25 de septiembre de 2025
10:00 — 18:00 BST
Evento híbrido
Yolo Vision 2024
Glosario

Kubernetes

Descubra cómo Kubernetes agiliza las cargas de trabajo de IA/ML con una implementación de modelos escalable, un entrenamiento distribuido y una gestión eficiente de los recursos.

Kubernetes, a menudo abreviado como K8s, es una plataforma de orquestación de contenedores de código abierto que automatiza la implementación, el escalado y la gestión de aplicaciones en contenedores. Desarrollado originalmente por Google y ahora mantenido por la Cloud Native Computing Foundation (CNCF), Kubernetes proporciona un marco de trabajo robusto para ejecutar sistemas distribuidos y resistentes. En el contexto de la Inteligencia Artificial (IA) y el Aprendizaje Automático (ML), se ha convertido en una herramienta esencial para gestionar todo el ciclo de vida de los modelos de ML, desde el entrenamiento hasta la implementación en entornos de producción.

¿Cómo funciona Kubernetes?

Kubernetes opera en un clúster de máquinas, que pueden ser servidores físicos o máquinas virtuales, en las instalaciones o en la nube. Los componentes principales incluyen:

  • Clúster: Un conjunto de nodos (máquinas de trabajo) que ejecutan aplicaciones contenerizadas.
  • Nodo: Una máquina de trabajo en un clúster de Kubernetes. Cada nodo ejecuta un Kubelet, que es un agente para administrar el nodo y comunicarse con el plano de control.
  • Pod: La unidad más pequeña y simple en el modelo de objetos de Kubernetes. Un Pod representa una sola instancia de un proceso en ejecución en un clúster y puede contener uno o más contenedores, como contenedores Docker.
  • Implementación: Gestiona un conjunto de Pods de réplica, garantizando que un número especificado de ellos se estén ejecutando en todo momento. Gestiona las actualizaciones y las reversiones automáticamente.

Al abstraer el hardware subyacente, Kubernetes permite a los desarrolladores e ingenieros de MLOps definir el estado deseado de su aplicación, y trabaja para mantener ese estado, gestionando los fallos y las necesidades de escalado automáticamente. Puede obtener más información en la documentación oficial de Kubernetes.

Kubernetes en la IA y el aprendizaje automático

Kubernetes es particularmente potente para las operaciones de aprendizaje automático (MLOps) porque aborda muchos de los retos asociados a la creación e implementación de sistemas de IA a escala. Su capacidad para gestionar los recursos de forma eficiente lo hace ideal para tareas que requieren muchos recursos, como el entrenamiento de modelos. Kubernetes puede escalar los trabajos de entrenamiento a través de múltiples GPU y nodos, lo que reduce significativamente el tiempo de entrenamiento.

Para la inferencia, Kubernetes garantiza una alta disponibilidad y escalabilidad. Aquí hay un par de ejemplos del mundo real:

  1. Servicio de Detección de Objetos Escalable: Una empresa implementa un modelo Ultralytics YOLO11 para la detección de objetos en tiempo real como un servicio web. El modelo se empaqueta en un contenedor. Utilizando Kubernetes, pueden escalar automáticamente el número de pods de inferencia hacia arriba o hacia abajo en función del tráfico entrante. Si un nodo falla, Kubernetes reprograma automáticamente los pods en nodos sanos, asegurando que el servicio permanezca disponible sin intervención manual. Este es un patrón común para la implementación de modelos en sistemas de vigilancia inteligente.
  2. Pipeline de PNL complejo como microservicios: Un equipo crea una aplicación de Procesamiento del Lenguaje Natural (PNL) que implica varios pasos: preprocesamiento de texto, análisis de sentimientos y reconocimiento de entidades nombradas. Cada componente es un microservicio independiente, contenido de forma independiente. Kubernetes orquesta estos servicios, gestionando su red y permitiendo que cada parte se actualice y se escale de forma independiente. Esta arquitectura proporciona flexibilidad y resiliencia para aplicaciones complejas impulsadas por IA.

Kubernetes vs. Tecnologías relacionadas

  • Kubernetes vs. Docker: Docker es una herramienta para construir y ejecutar contenedores individuales. Kubernetes es un orquestador para contenedores, que gestiona miles de ellos en muchas máquinas. No son competidores sino colaboradores; usted construye imágenes de contenedores con Docker y luego las gestiona con Kubernetes. Puede comenzar con lo básico siguiendo la guía de inicio rápido de Docker.
  • Kubernetes vs. Computación sin servidor: Las plataformas sin servidor como AWS Lambda abstraen toda la gestión del servidor. En contraste, Kubernetes ofrece más control sobre la infraestructura, lo que lo hace mejor para aplicaciones de larga duración o con estado. Si bien serverless es más simple para funciones controladas por eventos, los frameworks serverless pueden ejecutarse en Kubernetes utilizando herramientas como Knative.

Herramientas y ecosistema

El ecosistema de Kubernetes es vasto e incluye muchas herramientas para extender su funcionalidad:

  • Helm: A menudo denominado el gestor de paquetes para Kubernetes, Helm le ayuda a gestionar las aplicaciones de Kubernetes.
  • Prometheus & Grafana: Una combinación popular para monitorizar clústeres y aplicaciones de Kubernetes.
  • Integraciones con proveedores de la nube: Los principales proveedores de servicios en la nube ofrecen servicios gestionados de Kubernetes, como Google Kubernetes Engine (GKE), Amazon Elastic Kubernetes Service (EKS) y Azure Kubernetes Service (AKS), que simplifican la configuración y el mantenimiento de los clústeres.
  • Plataformas de ML: Herramientas como Kubeflow están construidas sobre Kubernetes para proporcionar flujos de trabajo específicos de ML para pipelines, entrenamiento e implementación. Plataformas como Ultralytics HUB agilizan el pipeline de MLOps, a menudo abstrayendo las complejidades de Kubernetes para facilitar la implementación de modelos.

Únete a la comunidad de Ultralytics

Únete al futuro de la IA. Conecta, colabora y crece con innovadores de todo el mundo

Únete ahora
Enlace copiado al portapapeles