Google Kubernetes Engine(GKE)의 Ray 정보


이 페이지에서는 Ray 연산자와 Google Kubernetes Engine(GKE)에서 Ray 클러스터 및 애플리케이션을 배포하고 관리하기 위한 관련 커스텀 리소스를 간략하게 설명합니다.

Ray는 AI/ML 및 Python 애플리케이션을 확장하기 위한 오픈소스 통합 컴퓨팅 프레임워크입니다. Ray는 여러 컴퓨팅 노드에 AI/ML의 컴퓨팅 런타임을 분산하는 라이브러리 세트를 제공합니다.

GKE에서 Ray 연산자를 사용 설정하는 방법은 GKE에서 Ray 연산자 사용 설정을 참조하세요.

GKE에서 Ray 연산자를 사용하는 이유

Ray 연산자는 GKE에서 Ray 클러스터를 배포하고 관리하는 데 권장되는 방법입니다. GKE에서 Ray 연산자를 실행하면 Python 및 GKE의 엔터프라이즈급 안정성, 이동성, 확장성에 대한 Ray 지원을 활용할 수 있습니다.

GKE 기반 Ray 연산자는 Ray 클러스터 관리를 위해 특별히 설계된 선언적 Kubernetes API를 제공하는 KubeRay를 기반으로 합니다. 즉, GKE에서 다른 컨테이너화된 워크로드를 사용하여 Ray 배포를 프로비저닝, 확장, 관리할 수 있습니다.

GKE의 Ray 연산자 작동 방식

GKE 클러스터에서 Ray 연산자를 사용 설정하면 GKE가 KubeRay 연산자를 자동으로 설치하고 호스팅합니다.

KubeRay는 다음을 포함하여 Kubernetes에서 Ray 배포를 관리하기 위한 Kubernetes 커스텀 리소스를 제공합니다.

RayCluster 커스텀 리소스

RayCluster 커스텀 리소스를 사용하면 GKE가 Kubernetes 포드로 배포하는 Ray 클러스터를 지정할 수 있습니다. Ray 클러스터는 일반적으로 단일 헤드 포드와 여러 작업자 포드로 구성됩니다.

RayJob 커스텀 리소스

RayJob 커스텀 리소스를 사용하면 단일 Ray 작업을 실행할 수 있습니다. KubeRay는 작업의 컴퓨팅 리소스를 제공하기 위해 RayCluster를 만든 다음 RayCluster의 헤드 포드에 Ray 작업을 제출하는 Kubernetes 작업을 만듭니다.

효율적인 리소스 관리를 위해 작업이 성공적으로 완료된 후 RayCluster를 자동으로 삭제하도록 KubeRay를 구성할 수 있습니다.

RayService 커스텀 리소스

RayService 커스텀 리소스를 사용하면 모델 서빙 및 추론을 위한 애플리케이션과 같은 Ray Serve 애플리케이션을 구성할 수 있습니다. KubeRay는 컴퓨팅 리소스를 제공하기 위해 RayCluster를 만든 다음 Ray Serve 구성에 지정된 대로 Ray Serve 애플리케이션을 배포합니다.

GKE의 Ray 공유 책임

Ray 연산자를 사용하여 GKE에서 Ray 워크로드를 실행하기로 선택하는 경우 Google Cloud와 사용자, 즉 고객 간에 책임을 분담하는 방식을 이해해야 합니다.

Google의 책임

  • KubeRay 연산자의 안정성과 업타임 유지관리
  • KubeRay 연산자의 버전 업그레이드 관리
  • RayCluster, RayJob, RayService 커스텀 리소스를 관리하기 위한 KubeRay 관련 기능

고객의 책임

  • Ray 헤드 및 Ray 작업자 포드에 사용되는 컨테이너 이미지 유지관리
  • Ray 헤드 및 Ray 작업자 포드의 버전 관리 및 업그레이드 유지관리
  • Ray 클러스터의 리소스 요구사항(CPU, GPU, 메모리 등) 구성
  • Ray 클러스터 보호 권장사항 준수
  • Ray 애플리케이션의 안정성 및 모니터링

자세한 내용은 GKE 공유 책임을 참고하세요.

다음 단계