KubeRay#

KubeRay — это оператор DropApp, предназначенный для упрощения развертывания, управления приложениями Ray в DropApp и устранения сложностей, связанных с их запуском. Для запуска приложений Ray требуется развертывание кластера Ray. Каждый кластер Ray состоит из главного node и набора рабочих node.

Примечание

Ray - это открытый фреймворк для распределенных вычислений, разработанный для задач в области AI и машинного обучения.

KubeRay обеспечивает интеграцию кластеров Ray с DropApp и используется в сценариях, где требуется особое внимание к управлению ресурсами, например для ML-тренировок, обработки потоковых данных или выполнения распределенных задач с переменной нагрузкой.

KubeRay предоставляет следующие CRD (Custom Resource Definition) ресурсы:

  • RayCluster;

  • RayJob;

  • RayService.

Данные CRD помогают эффективно управлять кластерами Ray, адаптируя их для различных сценариев использования.

Назначение#

KubeRay применяется в следующих случаях:

  • развертывание отказоустойчивых кластеров Ray для обучения ML-моделей в распределенном режиме;

  • оркестрация задач обработки данных (ETL, Feature Engineering) с динамическим масштабированием под нагрузку;

  • интеграция Ray-приложений в существующую инфраструктуру DropApp для совместной работы с другими сервисами (например, базами данных, мониторингом);

  • упрощение CI/CD-пайплайнов для ML-проектов, где требуется автоматическое обновление кластеров.

Функциональность#

  • автоматизированное развертывание кластеров Ray через CRD и Helm-чарты;

  • горизонтальное масштабирование на основе метрик DropApp (HPA) или пользовательских правил;

  • интеграция с API DropApp для управления ресурсами (pods, сервисы, конфигурации);

  • мониторинг и логирование через интеграцию с Prometheus, Grafna и Fluentd;

  • поддержка многопользовательских сценариев с изоляцией ресурсов через namespace;

  • управление зависимостями (Python-пакеты, Docker-образы) для воспроизводимости задач;

  • автоматическое восстановление pods и перераспределение задач;

  • гибкая конфигурация кластеров (версии Ray, ресурсы CPU/GPU, переменные среды).