En esta página, se proporciona una descripción general del operador de Ray y los recursos personalizados relevantes para implementar y administrar clústeres de Ray y aplicaciones en Google Kubernetes Engine (GKE).
Ray es un framework de procesamiento unificado de código abierto para escalar aplicaciones de IA/AA y Python. Ray proporciona un conjunto de bibliotecas para distribuir el entorno de ejecución de procesamiento para IA/AA en varios nodos de procesamiento.
Para obtener información sobre cómo habilitar el operador de Ray en GKE, consulta Habilita el operador de Ray en GKE.
Por qué usar el operador de Ray en GKE
El operador de Ray es la forma recomendada de implementar y administrar clústeres de Ray en GKE. Cuando ejecutas el operador de Ray en GKE, te beneficias de la compatibilidad de Ray con Python y la confiabilidad, la portabilidad y la escalabilidad de nivel empresarial de GKE.
El operador de Ray en GKE se basa en KubeRay, que proporciona APIs de Kubernetes declarativas diseñadas específicamente para administrar clústeres de Ray. Esto significa que puedes aprovisionar, escalar y administrar tus implementaciones de Ray con otras cargas de trabajo alojadas en contenedores en GKE.
Cómo funciona el operador de Ray en GKE
Cuando habilitas el operador de Ray en tus clústeres de GKE, GKE instala y aloja automáticamente el operador de KubeRay.
KubeRay proporciona recursos personalizados de Kubernetes para administrar implementaciones de Ray en Kubernetes, incluidos los siguientes:
Recurso personalizado de RayCluster
El recurso personalizado RayCluster te permite especificar un clúster de Ray que GKE implementa como Pods de Kubernetes. Un clúster de Ray suele constar de un solo Pod principal y varios Pods de trabajador.
Recurso personalizado de RayJob
El recurso personalizado de RayJob te permite ejecutar un solo trabajo de Ray. KubeRay crea un RayCluster para proporcionar recursos de procesamiento para el trabajo y, luego, crea un trabajo de Kubernetes que envía el trabajo de Ray al Pod principal del RayCluster.
Para lograr una administración eficiente de recursos, puedes configurar KubeRay para limpiar automáticamente RayCluster después de que tu trabajo se complete de forma correcta.
Recurso personalizado de RayService
El recurso personalizado de RayService te permite configurar aplicaciones de Ray Serve, como las aplicaciones para entrega e inferencia de modelos. KubeRay crea un RayCluster para proporcionar los recursos de procesamiento y, luego, implementa la aplicación de Ray Serve como se especifica en la configuración de Ray Serve.
Responsabilidad compartida de Ray en GKE
Cuando eliges ejecutar cargas de trabajo de Ray en GKE con el operador de Ray, es importante comprender cómo se dividen las responsabilidades entre Google Cloud tú y el cliente:
Las responsabilidades de Google
- Mantener la confiabilidad y el tiempo de actividad del operador de KubeRay
- Administrar las actualizaciones de versión del operador de KubeRay
- Capacidades específicas de KubeRay para administrar los recursos personalizados de RayCluster, RayJob y RayService
Las responsabilidades del cliente
- Mantener las imágenes de contenedor que se usan para los Pods principales y de trabajo de Ray
- Mantener el control de versiones y las actualizaciones de los Pods principales y de trabajo de Ray
- Configurar los requisitos de recursos (CPU, GPU, TPU, memoria, etcétera) para tus clústeres de Ray
- Seguir las prácticas recomendadas para proteger los clústeres de Ray.
- Confiabilidad y supervisión para tus aplicaciones de Ray
Consulta Responsabilidad compartida de GKE para obtener más información.
¿Qué sigue?
- Obtén información para habilitar el operador de Ray en GKE.
- Explora los instructivos para usar TPUs con Ray en GKE:
- Configura KubeRay con TPU Trillium
- Entrena un LLM con JAX, Ray Train y TPU Trillium en GKE
- Entrenamiento elástico y de varios segmentos en TPUs con Ray Train en GKE
- Optimiza el entrenamiento de IA en TPUs con DWS y Kueue
- Entrega modelos abiertos de Gemma con TPUs de varios hosts en GKE con Ray
- Entrega un LLM con TPUs en GKE con KubeRay
- Implementa una aplicación de Ray Serve con un modelo de difusión estable en GKE con TPUs
- Visualiza las métricas de TPU en el panel de Ray
- Explora la documentación de Ray en Kubernetes.