v1.11.0
发布日期
2026 年 7 月 27 日
ROCK v1.11 扩展了 Sandbox 运行时后端,新增可配置的生命周期自动化和统一的 Job 工作流,并提升了 Sandbox 可观测性与 Admin 服务稳定性。本版本还支持异步 提交 Sandbox 镜像、OpenSandbox 持久会话,以及 Python SDK 的 Windows 文件系统操作。
重点更新
-
可配置的生命周期自动化: 新增自动停止、归档和删除的持久化截止时间。 状态响应会返回
auto_stop_time、auto_archive_time和auto_delete_time;集群策略可以限制单个 Sandbox 配置的延迟上限, 并设置已归档 Sandbox 的保留时间 (#1264)。 -
OpenSandbox 后端: 新增
opensandboxOperator 后端,并通过官方 OpenSandbox SDK 执行命令、文件操作、状态查询、HTTP/WebSocket 服务代理和 持久 Shell 会话。会话映射保存在 Redis 中,可在多个 Admin Worker 之间保持一致 (#1203, #1233, #1262)。 -
统一 Job 工作流:
rock job run支持执行单个任务、多个任务或整个数据集, 并新增持久化的 Run/Job 元数据、并发执行、断点恢复、基于 OSS 的JobViewer以及面向 Run 的查询命令 (#1235)。 -
异步提交 Sandbox 镜像: Proxy 模式下的镜像 commit 和 push 改为通过 Rocklet 异步执行。Python 和 TypeScript SDK 可轮询提交进度,原有 Admin API 仍保持同步行为 (#1280)。
-
Windows 文件系统支持: Windows Sandbox 镜像会使用专用文件系统客户端, 支持所有者与权限处理、目录上传、二进制安全下载,以及适用于文件操作的 PowerShell 输出处理 (#1297)。
Sandbox 与 Admin
新功能
-
新建 Sandbox 请求的默认磁盘配额调整为
50G;调用方可以显式传入None以继续使用集群默认值 (#1226)。 -
通过直连、Proxy 和 OpenSandbox 状态查询返回
num_gpus与accelerator_type(#1286)。 -
支持从 Nacos 动态更新
runtime.max_allowed_spec,未在 Nacos 中指定的字段 继续保留 YAML 配置值 (#1291)。 -
为自动调度任务新增调度器健康状态、任务注册、Worker 缓存、任务执行、 执行耗时和失败情况等监控指标 (#1254)。
-
为 Admin 及其他 ROCK 进程增加可配置的异常堆栈日志 (#1261)。
-
新增主动 Ray Client 健康检查;当前 Client 会话关闭或无响应时, 通过串行化流程自动重新连接 (#1256)。
-
Admin 多 Worker 启动时改用各 Worker 独立的
SO_REUSEPORT监听器 (#1267)。
问题修复
-
Sandbox 保持
pending时保留已缓存的阶段信息,并避免在运行时尚未确认 Sandbox 存活时执行pending → running(#1239, #1247)。 -
在 Sandbox 启动响应中返回实际生效的磁盘配置 (#1258)。
-
获取 Sandbox 状态时,允许部分 Docker inspect 操作失败 (#1282)。
-
Ray 提交失败后立即触发过期处理,清理调度超时,并在读取提交元数据失败时 终止 Actor (#1284, #1288)。
-
重启已停止的 Sandbox 后刷新
start_time(#1289)。 -
完善已删除 Sandbox 的处理:归档剩余日志、释放资源预留、支持 Ray 幂等删除, 并在状态响应中返回
delete_time(#1295)。
Kubernetes
新功能
-
新增由 Nacos 驱动的
template_rules模板选择机制。规则按照声明顺序执行, 可匹配镜像通配模式、镜像操作系统、GPU 数量范围和加速卡类型;extended_params中显式指定的模板仍具有最高优先级 (#1274)。 -
支持将加密后的镜像仓库凭据传递给 Kubernetes Sandbox 工作负载 (#1130)。
SDK 与 CLI
新功能
-
TypeScript SDK:新增
Sandbox.archive()、磁盘配置、类型化的生命周期状态、 状态转换历史,以及状态响应中的磁盘字段 (#1241)。 -
Python 和 TypeScript SDK:支持通过
VerifierConfig.env配置 Verifier 环境变量 (#1220)。
问题修复
- TypeScript SDK:修正 nohup 进程结束检测;长时间运行的 OSS 操作改用
nohup 模式;新增传输文件大小校验;修复首次安装
ossutil失败的问题 (#1224)。
升级注意事项
-
数据库结构: 生命周期自动化为
sandbox_record表新增auto_transition_state、auto_transition_time字段以及ix_sandbox_record_state_auto_transition索引。启用自动生命周期转换前, 请先完成对应的数据库结构升级。 -
AES Key 配置:
aes_encrypt_key现在只从 ROCK 静态 YAML 配置的 顶层读取,不再从 Nacos 或proxy_service.aes_encrypt_key读取 (#1268)。 -
生命周期配置: 升级前需要移除已废弃的集群配置
lifecycle.auto_transition.auto_archive_seconds。单个 Sandbox 的auto_archive_seconds用于控制归档时间;集群级auto_delete_seconds用作默认值、延迟上限和归档失败后的清理宽限期;auto_delete_archived_seconds用于控制已归档 Sandbox 的保留时间 (#1264)。 -
Kubernetes 模板选择: 依赖
k8s.template_map或隐式 GPU 模板名的 部署需要迁移到 Nacostemplate_rules。如果既未显式指定模板, 也没有匹配的规则,ROCK 将使用default模板 (#1274)。
完整变更对比: v1.10.0...master