首页
/ KubeRay v1.4.0 版本深度解析:Kubernetes 上的 Ray 集群管理新体验

KubeRay v1.4.0 版本深度解析:Kubernetes 上的 Ray 集群管理新体验

2025-06-27 02:41:25作者:毕习沙Eudora

KubeRay 是一个专为 Kubernetes 设计的开源项目,它提供了在 Kubernetes 上部署和管理 Ray 集群的能力。Ray 是一个流行的分布式计算框架,广泛应用于机器学习和大规模数据处理场景。KubeRay 作为连接 Ray 和 Kubernetes 的桥梁,极大地简化了分布式计算任务在云原生环境中的部署和管理流程。

核心功能增强

1. Kubectl 插件全面升级

KubeRay v1.4.0 对 Kubectl 插件进行了重大改进,新增了多项实用功能:

  • 集群伸缩能力:新增 scale 命令,允许用户直接调整 RayCluster 中工作节点组的规模,无需手动修改 YAML 文件
  • 资源查看增强:扩展 get 命令功能,支持列出 Ray 节点和工作节点组信息
  • 集群创建优化create 命令现在支持从配置文件创建集群,并允许覆盖默认值,新增支持字段包括:
    • Kubernetes 标签和注解
    • 节点选择器
    • 临时存储配置
    • Ray 启动参数
    • TPU 支持
    • 自动伸缩器版本配置

这些改进使得通过命令行管理 Ray 集群变得更加灵活和高效。

2. KubeRay 仪表盘(Alpha 版本)

v1.4.0 引入了全新的开源仪表盘 UI,虽然目前仍处于实验阶段,但已经提供了集中查看和管理 KubeRay 资源的能力。与 Ray 自带的仪表盘不同,KubeRay 仪表盘提供了集群级别的全局视图,可以同时监控多个 KubeRay 资源的状态。

3. 调度器插件集成

新版本集成了 Kubernetes 社区的 scheduler-plugins 项目,为 RayCluster 资源提供了 Gang Scheduling(组调度)支持。这种调度方式特别适合需要同时启动多个相关任务的场景,确保所有相关任务要么全部成功调度,要么都不调度。

4. API Server V2(Alpha 版本)

全新的 API Server v2 提供了兼容 Kubernetes API 的 HTTP 代理接口,允许用户使用标准的 Kubernetes 客户端工具管理 Ray 资源。主要特点包括:

  • 完全兼容 Kubernetes OpenAPI 规范和 CRD
  • 可作为 Go 库使用,支持通过可插拔的 HTTP 中间件构建自定义代理

重要变更与兼容性说明

1. Bash Shell 行为变更

从 v1.4.0 开始,KubeRay 默认使用非登录 Bash Shell 执行命令,这与之前版本的登录 Shell 行为不同。虽然提供了 ENABLE_LOGIN_SHELL 环境变量作为临时回退方案,但长期建议用户适应新的默认行为。

2. 资源名称规范

新版本加强了对资源名称长度的验证,不再自动截断超长名称,而是会生成无效规范事件。同时,对一些资源名称后缀进行了简化:

  • RayCluster 的无头服务后缀从 headless-worker-svc 缩短为 headless
  • RayCluster 名称后缀从 -raycluster-xxxxx 简化为 -xxxxx
  • 头部 Pod 名称后缀从 -head-xxxxx 简化为 -head

3. 自动伸缩器 v2 配置变更

自动伸缩器 v2 的配置方式更新为通过 spec.autoscalerOptions.version 字段指定,不再推荐使用 RAY_enable_autoscaler_v2 环境变量。

监控与指标增强

KubeRay v1.4.0 引入了服务级别指标(SLI),帮助用户更好地监控 KubeRay 资源的状态和性能。这些指标包括:

  • 集群准备就绪时间
  • 服务条件状态
  • 任务执行时长
  • 集群信息
  • 任务部署状态

这些指标为运维团队提供了更全面的视角,有助于及时发现和解决潜在问题。

技术实现亮点

1. 多架构支持

KubeRay 提供了对多种 CPU 架构的原生支持,包括 AMD64 和 ARM64,确保在不同硬件平台上都能稳定运行。

2. 测试覆盖增强

新版本大幅增加了测试覆盖率,特别是针对自动伸缩功能和 API Server 的测试,提高了系统的稳定性和可靠性。

3. 开发者体验优化

项目改进了开发文档和构建流程,使开发者能够更轻松地参与贡献。同时引入了更严格的代码质量检查,包括 Markdown 文档格式规范和 Go 代码测试规范。

总结

KubeRay v1.4.0 通过引入仪表盘、增强命令行工具、改进调度能力和监控指标,显著提升了在 Kubernetes 上管理 Ray 集群的体验。虽然部分新功能仍处于 Alpha 阶段,但已经展现出强大的潜力。对于需要在云原生环境中运行分布式计算任务的团队,升级到 v1.4.0 将获得更强大、更易用的管理能力。

随着项目的持续发展,KubeRay 正在成为连接 Kubernetes 和分布式计算框架的重要桥梁,为机器学习和大数据处理工作负载提供坚实的云原生基础。

登录后查看全文
热门项目推荐
相关项目推荐