kuberay: Ray 클러스터, 작업(jobs), 서비스의 생명주기를 관리하기 위한 Kubernetes operator
kuberay: Ray 클러스터, 작업(jobs), 서비스의 생명주기를 관리하기 위한 Kubernetes operator
해결하는 문제
KubeRay는 Kubernetes 상에서 Ray 애플리케이션의 배포 및 관리를 단순화하여, 학습 및 추론과 같은 분산 AI 워크로드에 대해 클러스터를 수동으로 구성해야 하는 복잡성을 제거합니다.
작동 방식
이것은 Kubernetes operator로서 작동하며, 서로 다른 워크로드 유형을 관리하기 위해 세 가지 주요 Custom Resource Definitions (CRDs)를 제공합니다:
- RayCluster: 생성, 삭제, 오토스케일링 및 결함 허용(fault tolerance)을 포함하여 Ray 클러스터의 전체 생명주기를 관리합니다.
- RayJob: 클러스터 생성을 자동화하고, 특정 작업을 제출하며, 완료 시 클러스터를 자동으로 삭제할 수 있습니다.
- RayService: RayCluster를 Ray Serve 배포 그래프와 결합하여 고가용성 및 무중단 업그레이드를 가능하게 합니다.
추가적으로, 단순화된 워크플로우를 위한 kubectl ray 플러그인, 구성 관리를 위한 API 서버, 그리고 리소스 시각화를 위한 실험적인 대시보드를 제공합니다.
대상 사용자
Kubernetes 상에서 대규모로 분산 머신러닝 및 AI 애플리케이션(예: LLM 온라인 추론 또는 배치 학습)을 실행해야 하는 개발자 및 플랫폼 엔지니어를 위해 설계되었습니다.
주요 특징
- 자동화된 생명주기 관리: 클러스터 생성, 스케일링 및 결함 허용을 자동으로 처리합니다.
- 통합된 생태계: Prometheus, Grafana, Nginx, 그리고 Volcano 및 Kueue와 같은 큐잉 시스템과 통합됩니다.
- 워크로드별 리소스: 장기 실행 서비스(RayService) 및 일회성 작업(RayJob)을 위한 전용 리소스를 제공합니다.
- 확장성: Apple, Google, Spotify와 같은 조직에서 AI 인프라를 수천 개의 노드로 확장하는 데 사용됩니다.
Sources
- undefinedray-project/kuberay