ray-project/kuberay
A toolkit to run Ray applications on Kubernetes
What it solves
KubeRay는 Kubernetes에서 Ray 애플리케이션의 배포와 관리를 단순화하여, 트레이닝 및 추론과 같은 분산 AI 워크로드를 위해 클러스터를 수동으로 설정하는 복잡성을 없앱니다.
How it works
Kubernetes 오퍼레이터로 동작하며, 다음 세 가지 주요 Custom Resource Definitions(CRD)을 제공해 다양한 워크로드를 관리합니다:
- RayCluster: Ray 클러스터의 생성, 삭제, 자동 스케일링, 장애 복구 등 전체 라이프사이클을 관리합니다.
- RayJob: 클러스터를 자동으로 생성하고 특정 작업을 제출하며, 완료 시 클러스터를 자동 삭제할 수 있습니다.
- RayService: RayCluster와 Ray Serve 배포 그래프를 결합해 고가용성과 무중단 업그레이드를 가능하게 합니다.
또한 kubectl ray 플러그인을 제공해 워크플로우를 단순화하고, 설정 관리를 위한 API 서버와 리소스 시각화를 위한 실험적 대시보드를 제공합니다.
Who it’s for
Kubernetes에서 대규모 분산 머신러닝 및 AI 애플리케이션(예: LLM 온라인 추론 또는 배치 트레이닝)을 실행해야 하는 개발자와 플랫폼 엔지니어를 위해 설계되었습니다.
Highlights
- Automated Lifecycle Management: 클러스터 생성, 스케일링, 장애 복구를 자동으로 처리합니다.
- Integrated Ecosystem: Prometheus, Grafana, Nginx, Volcano, Kueue 등과 통합됩니다.
- Workload-Specific Resources: 장기 서비스(RayService)와 일회성 작업(RayJob)을 위한 전용 리소스를 제공합니다.
- Scalability: Apple, Google, Spotify 등에서 사용되어 수천 노드 규모의 AI 인프라를 확장합니다.