Kubernetes 1.31: Mejorando la gestión de IA y ML ML
Kubernetes 1.31: Hacia una mejor gestión de Inteligencia Artificial y Machine Learning
Kubernetes, el sistema de orquestación de gestión de contenedores, ha demostrado ser vital para la computación moderna, excepto en un área: la Inteligencia Artificial (IA) y el Aprendizaje Automático (ML, por sus siglas en inglés). El problema radica en que la IA/ML requiere recursos significativos de CPU, memoria y GPU, los cuales no son fáciles de gestionar en Kubernetes.
Ahora, con el lanzamiento más reciente de Kubernetes — Kubernetes 1.31, conocido como Elli — la Cloud Native Computing Foundation (CNCF) está abordando estos problemas. Elli trae mejoras en las funciones de IA comenzando con el soporte alfa para imágenes y artefactos de Open Container Initiative (OCI) como fuente de volumen nativa. Esto puede no sonar muy relevante, pero permite a los desarrolladores cambiar fácilmente modelos de lenguaje de gran tamaño (LLM) de la misma manera que lo hacen con las imágenes de contenedores ordinarias.
Elli también introduce una API y diseño de asignación dinámica de recursos actualizados en Kubernetes, lo cual ayudará a estandarizar el acceso y gestión de aceleradores de hardware, como las GPUs, esenciales para la IA y el ML. Además, facilita la implementación de funciones como el escalado automático de clústeres, lo que a su vez hará más sencillo ejecutar trabajos de IA y ML en Kubernetes.
Seguridad y Funcionalidades Adicionales
Más allá de la IA, Kubernetes ahora ofrece un soporte completo para AppArmor, un módulo de seguridad del kernel de Linux que permite a los administradores del sistema restringir las capacidades de los programas con perfiles por programa. Esta característica ha alcanzado disponibilidad general, lo que permite a los usuarios establecer perfiles de AppArmor para contenedores directamente a través de la API de Kubernetes.
En otro frente de seguridad, una nueva característica opcional permite a los administradores configurar los puntos finales para bloquear solicitudes de acceso anónimas, protegiendo así a los clústeres de configuraciones incorrectas de Control de Acceso Basado en Roles (RBAC) que de otro modo podrían otorgar un amplio acceso a usuarios anónimos.
Actualización y Mejoras
Además de presentar nuevas funcionalidades, Kubernetes 1.31 continúa optimizando y modernizando su código al eliminar características obsoletas. Esto incluye:
- Eliminación de integraciones in-tree de proveedores de servicios en la nube: Se ha eliminado por completo todas las integraciones de proveedores de servicios en la nube in-tree, como parte de un esfuerzo para garantizar que Kubernetes siga siendo una plataforma neutral con los proveedores de servicios en la nube.
- Depreciación de complementos de límites de volumen no-CSI: La release declara obsoletos todos los complementos de programación de límites de volumen no-CSI, alineándose con la estrategia de Kubernetes de migrar a la Interfaz de Almacenamiento de Contenedores (CSI) para todas las funcionalidades relacionadas con el almacenamiento.
- Depreciación de Cgroups v1: A partir de ahora, se recomienda utilizar cgroups v2 en lugar de cgroups v1 para la gestión de recursos del sistema.
Para resumir, esta versión no solo hace a Kubernetes más amigable para la IA, sino que también se enfoca en simplificar su uso y hacer que las cargas de trabajo sean más confiables. Angelos Kolaitis, ingeniero de software senior de Canonical y líder del equipo de la versión 1.31 de Kubernetes, enfatizó que esta actualización busca simplificar y optimizar el código de Kubernetes, dejando que la plataforma se enfoque en el estado deseado y relegue la implementación a fuentes externas.
Aunque las nuevas funciones son atractivas, la estabilidad es clave. Por este motivo, se recomienda explorar una actualización a Kubernetes 1.31 lo antes posible..