KubeRay v1.7 推出,升级 Kubernetes 上的 Ray 功能
KubeRay 是用于管理 Ray 分布式工作负载的 Kubernetes 操作器,已发布 1.6 和 1.7 版本,为 AI、机器学习和其他可扩展计算应用程序带来了重大升级。这些版本包含大约 75 位贡献者提交的 381 多次提交,带来了如 History Server 测试版、更安全的 RayService 升级、改进的 RayJob 管理以及增强的容错能力等改进。
主要升级和功能
v1.7 的亮点功能是 History Server 测试版,即使在 RayCluster 被删除后,用户仍然可以访问作业和集群日志。改进后的服务器通过延迟加载和 LRU 缓存减少了内存使用和启动时间,同时集成了 Ray 的身份验证令牌以提高安全性。自动 sidecar 注入简化了其部署,无需手动配置日志收集。
安全性也得到了提升,包括对 Kubernetes 原生 NetworkPolicy 的支持、通过 cert-manager 自动化 mTLS 证书管理,以及基于令牌的 Kubernetes RBAC 身份验证。这些更新满足了优先考虑生产环境安全运营的企业需求。
RayJob 管理变得更加健壮,新功能包括支持本地 cron 调度的 RayCronJob、侧车模式下的瞬时失败重试逻辑,以及改进的删除策略,用于在作业完成后管理工作节点和集群。
另一个值得注意的新增功能是通过嵌入式 RocksDB 后端实现的 GCS 容错能力,消除了对外部 Redis 依赖的需求。此功能简化了集群删除过程,并增强了关键工作负载的持久性。
RayService 和 RayCluster 的增强功能
RayService 作为部署 Ray Serve 应用程序的关键资源,现在支持具有回滚功能的增量升级,使该功能进入测试版阶段。这实现了更顺畅的零停机时间升级,对于生产环境至关重要。此外,新的可定制 Ingress 选项和 Autoscaler V2 的优先级感知工作组选择提高了部署灵活性和资源分配效率。
对于 RayCluster 用户,新发布的重新创建升级策略通过在配置更改时自动删除和重新创建 pod 简化了更新过程,非常适合 GitOps 工作流。
为何重要
KubeRay 的更新巩固了其作为在 Kubernetes 上运行 Ray 工作负载工具包的主导地位,这对于扩展机器学习和 AI 工作负载至关重要。通过解决作业管理、安全性和容错等难点,这些版本增强了其对处理复杂分布式计算任务的企业用户的吸引力。
这一开源项目的持续演进反映了 AI/ML 领域对 Kubernetes 原生解决方案日益增长的需求。Ray 已经广泛应用于模型训练、批处理和推理服务等应用场景,而这些 KubeRay 更新让大规模操作化这些工作负载变得更加容易。
展望未来
随着 KubeRay v1.7 的推出,焦点转向即将到来的 v1.8 版本,Ray 社区正积极制定其路线图。用户可以通过 Slack、GitHub 和每两周一次的社区会议与贡献者互动,影响未来的发展。
对于准备采用的用户,KubeRay v1.7 的 Helm chart 已经上线,可为 Kubernetes 集群提供精简的安装体验。通过针对企业级可靠性和开发人员效率的改进,KubeRay 的发展轨迹凸显了其在 Kubernetes 和 AI/ML 生态系统中的关键作用。