KubeRay 入门
Contents
KubeRay 入门#
自定义资源 (CRDs)#
KubeRay 是一个强大的,开源的 Kubernetes 控制器,它简化了再 Kubernetes 上部署和管理 Ray 应用。 它提供了 3 种自定义资源 (CRDs):
RayCluster: KubeRay 完全管理 RayCluster 的生命周期,包括集群创建 / 删除,扩缩容,以及容错保证。
RayJob: 通过 RayJob,KubeRay 自动创建一个 RayCluster 并在集群就绪提交任务。你同样也可以配置 RayJob 在任务完成之后自动删除 RayCluster。
RayService: RayService 由两部分组成:一个 RayCluster 以及 Ray Serve 部署图。RayService 为 RayCluster 和高可用性提供零停机升级。
我该选择那种 CRD ?#
使用 RayService 来部署模型,使用 RayCluster 来部署 Ray 应用是我们的明智推荐。 然而,使用场景不是模型服务或模型原型设计,我该如何在 RayCluster 以及 RayJob 之间进行选择?
问:是否能容忍集群升级的下线状态(例如:升级 Ray 版本)?#
如果不,选择 RayJob。RayJob 可以配置为一旦任务完成就自动删除 RayCluster 集群。你可以为每个使用 RayJob 提交的任务指定 Ray 版本及配置。
如果可以,选择 RayCluster。Ray 并未原生支持滚动升级;因此,你需要手动停止并创建一个新的 RayCluster。
问:你是否部署在公有云上(例如:AWS,GCP,Azure)?#
如果是,选择 RayJob。它允许在任务完成之上自动删除 RayCluster,可帮你节省支出。
问:您是否允许 RayCluster 转换带来的延迟?#
如果是,选择 RayCluster。 和 RayJob 不同,它会在每个任务提交创建一个新的 RayCluster。RayCluster 只创建一次集群,可多次使用。