KubeRay — vLLM 통합
KubeRay — vLLM 통합
KubeRay는 Ray 클러스터에서 vLLM 워크로드를 실행하는 Kubernetes 네이티브 방식을 제공합니다. Ray 클러스터를 YAML로 선언하면 운영자(operator)가 파드 스케줄링, 네트워킹 구성, 재시작, 블루-그린 배포를 처리하며, 익숙한 Kubernetes 경험을 그대로 유지합니다.
출처: 문서
본문
왜 수동 스크립트 대신 KubeRay인가? (Why KubeRay instead of manual scripts?)
| 기능 | 수동 스크립트 | KubeRay |
|---|---|---|
| 클러스터 부트스트랩 | 모든 노드에 SSH로 접속해 스크립트 실행 | 전체 클러스터를 생성·갱신하는 한 줄 명령: kubectl apply -f cluster.yaml |
| 오토스케일링 | 수동 | 클러스터 크기 조정을 위해 CRD를 자동 패치 |
| 업그레이드 | 수동으로 전부 내리고 재생성 | 블루/그린 배포 업데이트 지원 |
| 선언적 구성 | Bash 플래그와 환경 변수 | Git-ops 친화적인 YAML CRD (RayCluster/RayService) |
KubeRay를 쓰면 운영 부담이 줄고, Ray + vLLM을 기존 Kubernetes 워크플로(CI/CD, 시크릿, 스토리지 클래스 등)에 쉽게 통합할 수 있습니다.
어떻게 동작하나 (간단히)
KubeRay는 RayCluster와 RayService라는 두 CRD를 제공합니다. RayCluster로 vLLM 워커가 실행될 Ray 클러스터(헤드·워커 노드)를 선언하면, 오퍼레이터가 파드 스케줄링·네트워크·재시작을 관리합니다. 그 위에서 Ray Serve가 vLLM 배포(deployment)를 운영하며, HTTP 엔드포인트로 OpenAI 호환 추론 요청을 받습니다. ray-operator는 쿠버네티스 네이티브 트래픽 경로와 통합돼 있어 서비스 검색·로드밸런싱을 기존 쿠버네티스 방식으로 처리합니다.
KubeRay를 활용하면:
- vLLM 워커가 여러 노드에 분산돼 텐서 병렬로 큰 모델을 서빙할 수 있습니다.
- 노드 장애 시 Ray 오퍼레이터가 자동 재시작해 가용성을 유지합니다.
- YAML만으로 클러스터를 버전 관리하며 GitOps로 배포할 수 있습니다.
더 알아보기 (Learn more)
- 모든 배포 통합 — vLLM과 연동되는 통합 목록
- "Kubernetes에서 Ray Serve LLM으로 대규모 언어 모델 서빙하기" — vLLM, KubeRay, Ray Serve로 모델을 서빙하는 엔드투엔드 예제
- KubeRay 문서
- KubeRay 레포지토리