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 y aplicaciones de Ray 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 tiempo de ejecución de procesamiento para la 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, portabilidad y escalabilidad de nivel empresarial de GKE.
El operador de Ray en GKE se basa en KubeRay, que proporciona APIs declarativas de Kubernetes 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 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. Por lo general, un clúster de Ray consta de un solo Pod principal y varios Pods de trabajo.
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 según lo especificado por 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 Cloudy tú, el cliente:
Las responsabilidades de Google
- Mantener la confiabilidad y el tiempo de actividad del operador de KubeRay
- Administra las actualizaciones de versiones 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 de Ray worker y de encabezado 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, memoria, etc.) para tus clústeres de Ray
- Sigue 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 más información para habilitar el operador de Ray en GKE.
- Explora la documentación de Ray en Kubernetes.