Guía para el aprovisionamiento automático de nodos en la nube

Diseñado para la velocidad: ~ 10 ms de latencia, incluso bajo carga
¡Una forma increíblemente rápida de crear, rastrear e implementar sus modelos!
- Gestiona más de 350 RPS en solo 1 vCPU, sin necesidad de ajustes
- Listo para la producción con soporte empresarial completo
Las diferentes cargas de trabajo requieren diferentes especificaciones de hardware, como el tipo de máquina, el tamaño y la geolocalización. Con el auge de las ML/LLM, la selección del hardware adecuado se ha vuelto crucial. Tenemos que tomar decisiones en función de las especificaciones del hardware, como el tipo de sistema operativo, la arquitectura, el procesador, el tipo de GPU y el almacenamiento. Kubernetes ayuda a organizar y distribuir los recursos entre cargas de trabajo similares, pero el aprovisionamiento dinámico de estos recursos bajo demanda sigue siendo un desafío.
UN Kubernetes El clúster (K8s) es un grupo de nodos que ejecutan aplicaciones en contenedores de manera eficiente, automatizada, distribuida y escalable. Cada nodo de un clúster de Kubernetes tiene atributos específicos, como el tipo, el tamaño y la ubicación de la máquina.
Este blog explora la necesidad de los aprovisionadores automáticos de nodos en la nube para gestionar automáticamente diversos requisitos de carga de trabajo en los clústeres de Kubernetes. También proporcionamos información sobre las soluciones que ofrecen los principales proveedores de nube, como AWS, GCP y Azure. Por último, profundizamos en cómo TrueFoundry aborda estos desafíos como plataforma.
Introducción
El aprovisionamiento automático de nodos automatiza el aprovisionamiento del grupo de nodos apropiado en función de las restricciones de los pods no programadas para optimizar los costos de infraestructura. Los aprovisionadores automáticos de nodos de un clúster de Kubernetes son responsables de las siguientes acciones:
- Programación: lanzamiento de nodos en respuesta a módulos no programados tras resolver las restricciones de programación al decidir de forma óptima el mejor tipo y tamaño de máquina posibles.
- Interrupción: Eliminación de nodos cuando ya no están en uso por caducidad, consolidación, deriva o interrupción
¿Por qué el aprovisionamiento automático de nodos?
Kubernetes tiene nodos como máquinas de trabajo con configuraciones de hardware específicas, como el tipo de máquina, el tamaño y el tipo de capacidad, y los grupos de nodos se refieren a grupos de máquinas de trabajo comunes. En ausencia de un aprovisionador automático de nodos, la única forma de asignar una configuración de hardware específica a su carga de trabajo era mediante la selección del grupo de nodos. Esto requiere que el usuario cree un grupo de nodos con la configuración requerida en su nube y, a continuación, añada el nodo afinidad para el grupo de nodos específico en Pod spec.

En general, este mecanismo implica los siguientes pasos:
- Predefinir sus requisitos de hardware.
- Búsqueda y selección del mejor tipo y tamaño de máquina posible para los requisitos dados.
- Aprovisionamiento de los grupos de nodos seleccionados.

Las combinaciones de requisitos de grupos de nodos pueden ser numerosas, especialmente durante la fase de experimentación para las cargas de trabajo de ML/LLM. La coordinación entre los distintos equipos de DevOps y de plataforma podría consumir una cantidad considerable de tiempo durante el desarrollo. Por lo tanto, es crucial contar con un controlador que evalúe los requisitos de forma dinámica y aprovisione automáticamente la infraestructura.
¿Cómo funciona el aprovisionamiento automático de nodos?
El aprovisionamiento automático de nodos elimina el paso manual de crear previamente grupos de nodos, ya que permite a los usuarios añadir requisitos de alto nivel como restricciones. Determina automáticamente el mejor tipo de máquina o nodo disponible para la carga de trabajo.

Algunas de las restricciones de uso común:
- cpu: CPU requerida, p. ej.
2 - memoria: memoria requerida para la carga de trabajo, p. ej.
1000 - gpu-type: tipo de GPU requerido, p. ej.
t4, a100 - tipo de capacidad: Opción de compra, p. ej.
bajo demandaolugar - áreas: ubicaciones geológicas, p. ej.
US-east-1a - sistema operativo: el sistema operativo de la máquina, p. ej.
linuxoventanas - arquitectura: la arquitectura de la máquina, p. ej.
brazo 64oamd64

Proveedores de nube que ofrecen aprovisionamiento automático de nodos
Cada proveedor de nube ofrece sus mecanismos de aprovisionamiento automático. AWS requiere la instalación de herramientas como Karpenter, mientras que GCP proporciona una solución integrada. Azure presentó recientemente su proyecto de aprovisionamiento automático, actualmente en modo de vista previa.
Carpintero de AWS
Carpintero, un proyecto de gestión del ciclo de vida de los nodos de código abierto diseñado para Kubernetes, mejora significativamente la eficiencia y la rentabilidad de la ejecución de cargas de trabajo en clústeres. Al tener en cuenta las restricciones de programación, como las solicitudes de recursos, los selectores de nodos, las afinidades, las tolerancias y las restricciones de dispersión de la topología, Karpenter aprovisiona y desasigna los nodos de forma inteligente según sea necesario.
Aprovisionamiento automático de nodos de GCP
Aprovisionamiento automático de nodos, integrado en el escalador automático del clúster, escala los grupos de nodos existentes en función de las especificaciones de los pods no programables. La función de aprovisionamiento automático de GCP garantiza un uso óptimo de los recursos al tener en cuenta la CPU, la memoria, el almacenamiento efímero, las solicitudes de GPU, las afinidades de los nodos y los selectores de etiquetas.
Aprovisionamiento automático de nodos de Azure
De Azure Proyecto de aprovisionamiento automático de nodos (NAP), actualmente en modo de vista previa, aprovecha el proyecto Karpenter de código abierto para determinar la configuración óptima de máquinas virtuales para ejecutar cargas de trabajo de manera eficiente y rentable. NAP implementa y administra Karpenter automáticamente en los clústeres de AKS, lo que brinda a los usuarios una experiencia perfecta.
💡
El aprovisionamiento automático de nodos (NAP) para AKS se encuentra actualmente en VERSIÓN PRELIMINAR. Estamos muy entusiasmados con este nuevo proyecto y esperamos poder usarlo para nuestros clientes. Obtenga más información
TrueFoundry: obtenga experiencia de aprovisionamiento automático de nodos
TrueFoundry ofrece capacidades de filtrado avanzadas para grupos de nodos, simulando la experiencia de aprovisionamiento automático de nodos.

Para lograrlo, hemos seguido unos sencillos pasos:
- Crea grupos de nodos de forma programática con todas las combinaciones de tipos de máquinas y tipos de capacidad, lo que permite el escalado automático y minimiza hasta cero.
- Vincula el grupo de nodos a su tipo de máquina, CPU, memoria, tipo de GPU y recuento.
- Luego filtramos estos grupos de nodos en función de los requisitos, lo que facilita al usuario final la elección de la infraestructura correcta.
Este enfoque permite a los desarrolladores y científicos de datos seleccionar el mejor grupo de nodos para su carga de trabajo mediante el análisis de sus requisitos. Este sencillo mecanismo nos permite ofrecer la misma experiencia a cualquier nube que aún no cuente con soporte integrado para los autoaprovisionadores.
Conclusión
A medida que los requisitos de infraestructura siguen evolucionando, los proveedores de nube se dedican a agilizar el proceso de selección de la infraestructura óptima para diversas cargas de trabajo. En True Foundry, compartimos este compromiso al esforzarnos por dotar a los desarrolladores de las herramientas y los conocimientos que necesitan para implementar sus cargas de trabajo sin problemas.
TrueFoundry AI Gateway ofrece una latencia de entre 3 y 4 ms, gestiona más de 350 RPS en una vCPU, se escala horizontalmente con facilidad y está listo para la producción, mientras que LitellM presenta una latencia alta, tiene dificultades para superar un RPS moderado, carece de escalado integrado y es ideal para cargas de trabajo ligeras o de prototipos.
La forma más rápida de crear, gobernar y escalar su IA




















.png)


.webp)




.webp)







