全部產品
Search
文件中心

Container Service for Kubernetes:Ray on ACK

更新時間:Feb 14, 2025

開源架構Ray用來管理、執行和最佳化跨AI工作負載的計算需求,它通過一個單一的、靈活的架構統一基礎設施,支援從資料處理到模型訓練到模型服務等人工智慧工作負載。它提供了簡單的API,使得開發人員可以輕鬆地編寫並行和分布式代碼,而無需擔心底層的複雜性。Ray支援多種編程範式,包括任務並行、Actor模型、分布式Object Storage Service等,並支援構建可擴充的人工智慧(AI)和Python應用程式,廣泛應用於機器學習領域。

Ray簡介

Ray是一個開源架構,支援構建可擴充的人工智慧(AI)和Python應用程式,還提供了簡單直觀的API,以簡化分散式運算,便於高效地編寫並行和分布式Python應用程式,廣泛應用於機器學習領域。Ray的統一計算架構由Ray AI libraries、Ray Core和Ray Cluster三層組成。如果您想要瞭解更多關於Ray的相關介紹,請參見開源架構Ray

image.svg

KubeRay簡介

KubeRay是一個開源Kubernetes Operator,它簡化了Kubernetes上Ray應用程式的部署和管理。KubeRay專門為Ray叢集在Kubernetes上的運行而設計了聲明式Kubernetes API,提供了RayCluster、RayJob、RayService自訂資源,這些資源旨在協助客戶在Kubernetes上輕鬆運行各種工作負載。

Ray on ACK

Container Service for Kubernetes是全球首批通過Kubernetes一致性認證的Container Service平台,提供高效能的容器應用管理服務,支援企業級Kubernetes容器化應用的生命週期管理。結合ACK的雲原生化部署方式,您可以通過KubeRay在ACK叢集上快速建立Ray Cluster。

  • 與阿里雲SLS日誌、ARMS Prometheus監控、Redis等產品無縫對接,可以增強日誌管理、可觀測和高可用等能力。

  • Ray autoscaler與ACK autoscaler的彈性功能相結合,可以充分發揮雲的彈效能力,按需提供計算資源。

image.png

如果您需要瞭解如何在ACK上安裝KubeRay Operator,請參見安裝KubeRay-Operator組件

KubeRay Operator組件

推薦您在ACK叢集的組件管理中安裝KubeRay,用來快速部署和管理Ray叢集。ACK中KubeRay組件基於社區KubeRay,您可以通過KubeRay結合ACK的調度、彈性配額、資源優先順序調度等能力,並與Log ServiceSLS、阿里雲Prometheus監控,OSSObject Storage Service等雲產品整合,方便您便捷管理和使用Ray叢集服務。

在ACK叢集的組件管理中安裝KubeRay後,ACK會自動安裝並託管KubeRay Operator,同時在使用者資料面上安裝KubeRay提供的Kubernetes自訂資源:RayCluster/RayJob/RayService。

image.png

自訂資源

  • RayCluster

    通過RayCluster自訂資源,您可以在ACK上以Pod形式構建Ray叢集。Ray叢集由單個頭Pod和多個work Pod組成。如果您想瞭解更多RayCluster CR的配置資訊,請參見RayCluster Configuration

    image.png

  • RayJob

    RayJob(K8sJobMode模式)分為兩部分:RayCluster和Kubernetes batch job,前者通過Kubernetes pod構建Ray叢集提供計算資源,後者通過ray job submit命令向RayCluster裡提交單個Ray作業;如果您想瞭解更多的RayJob CR配置資訊,請參見RayJob Configuration

    image.png

  • RayService

    RayService 分為兩部分:RayCluster和Ray Serve應用,前者通過Kubernetes pod構建Ray叢集提供計算資源,之後在RayCluster上部署配置Ray Serve應用,用於模型部署和推理的應用。

Ray on ACK責任共擔

使用ACK叢集中的KubeRay組件在ACK上運行Ray工作負載,在ACK下遵循責任共擔原則,以下介紹Ray on ACK的責任共擔模型。

阿里雲負責

KubeRay Operator為ACK託管組件,其安全性由ACK保障,具體如下。

  • 確保KubeRay Operator的配置和使用的鏡像符合安全強化標準,防止潛在安全性漏洞。

  • 保證KubeRay Operator啟動並執行穩定性和高可用性。

  • 維護KubeRay Operator版本,確保組件可用性。

  • 提供和維護KubeRay Operator對RayCluster、RayJob和RayService自訂資源的管理能力。

客戶負責

當您在ACK上通過RayCluster、RayJob、RayService等Kubernetes自訂資源管理和部署Ray叢集以及Ray應用時,您需要負責Ray應用的安全防護和配置更新。

  • 遵循保護Ray叢集的最佳實務。

  • 更新並維護用於配置Ray head Pod和Ray work Pod的容器鏡像。

  • 更新並維護Ray head Pod和Ray work Pod中的Ray版本。

  • 合理配置Ray叢集的資源需求,包括CPU、GPU、記憶體等資源。

  • 監測Ray應用運行狀態,保證Ray應用可用性。

如需詳細瞭解,請參見安全責任共擔模型