开源框架Ray用来管理、执行和优化跨AI工作负载的计算需求,它通过一个单一的、灵活的框架统一基础设施,支持从数据处理到模型训练到模型服务等人工智能工作负载。它提供了简单的API,使得开发者可以轻松地编写并行和分布式代码,而无需担心底层的复杂性。Ray支持多种编程范式,包括任务并行、Actor模型、分布式对象存储等,并支持构建可扩展的人工智能(AI)和Python应用程序,广泛应用于机器学习领域。
Ray简介
Ray是一个开源框架,支持构建可扩展的人工智能(AI)和Python应用程序,还提供了简单直观的API,以简化分布式计算,便于高效地编写并行和分布式Python应用程序,广泛应用于机器学习领域。Ray的统一计算框架由Ray AI libraries、Ray Core和Ray Cluster三层组成。如果您想要了解更多关于Ray的相关介绍,请参见开源框架Ray。
KubeRay简介
KubeRay是一个开源Kubernetes Operator,它简化了Kubernetes上Ray应用程序的部署和管理。KubeRay专门为Ray集群在Kubernetes上的运行而设计了声明式Kubernetes API,提供了RayCluster、RayJob、RayService自定义资源,这些资源旨在帮助客户在Kubernetes上轻松运行各种工作负载。
Ray on ACK
容器服务 Kubernetes 版是全球首批通过Kubernetes一致性认证的容器服务平台,提供高性能的容器应用管理服务,支持企业级Kubernetes容器化应用的生命周期管理。结合ACK的云原生化部署方式,您可以通过KubeRay在ACK集群上快速创建Ray Cluster。
与阿里云SLS日志、ARMS Prometheus监控、Redis等产品无缝对接,可以增强日志管理、可观测和高可用等能力。
Ray autoscaler与ACK autoscaler的弹性功能相结合,可以充分发挥云的弹性能力,按需提供计算资源。
如果您需要了解如何在ACK上安装KubeRay Operator,请参见安装KubeRay-Operator组件。
KubeRay Operator组件
推荐您在ACK集群的组件管理中安装KubeRay,用来快速部署和管理Ray集群。ACK中KubeRay组件基于社区KubeRay,您可以通过KubeRay结合ACK的调度、弹性配额、资源优先级调度等能力,并与日志服务SLS、阿里云Prometheus监控,OSS对象存储等云产品集成,方便您便捷管理和使用Ray集群服务。
在ACK集群的组件管理中安装KubeRay后,ACK会自动安装并托管KubeRay Operator,同时在用户数据面上安装KubeRay提供的Kubernetes自定义资源:RayCluster/RayJob/RayService。
自定义资源
RayCluster
通过RayCluster自定义资源,您可以在ACK上以Pod形式构建Ray集群。Ray集群由单个头Pod和多个work Pod组成。如果您想了解更多RayCluster CR的配置信息,请参见RayCluster Configuration。
RayJob
RayJob(K8sJobMode模式)分为两部分:RayCluster和Kubernetes batch job,前者通过Kubernetes pod构建Ray集群提供计算资源,后者通过
ray job submit
命令向RayCluster里提交单个Ray作业;如果您想了解更多的RayJob CR配置信息,请参见RayJob Configuration。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应用可用性。
如需详细了解,请参见安全责任共担模型。
- 本页导读 (1)
- Ray简介
- KubeRay简介
- Ray on ACK
- KubeRay Operator组件
- 自定义资源
- Ray on ACK责任共担
- 阿里云负责
- 客户负责