当前位置: 首页 > news >正文

Cube v0.5.0发布:自动暂停 · ARM 支持· 一键集群部署,把沙箱送进生产

如果说 Cube Sandbox v0.3.0 解决的是"快"(毫秒级的快照 / 克隆 / 回滚),v0.4.0 解决的是"治理"(L7 出站管控 + 可观测性 + 集群一致性),那么 v0.5.0 想解决的是——"稳、省、广"。

:Agent 沙箱大部分时间是在"等",等用户输入、等回调、等下一轮 rollout。解决这些"空跑"占用沙箱的 CPU 和内存。

广:AI 时代的算力基座正在从 x86 独大走向 x86 / ARM 双轨。解决沙箱能原生跑在 ARM 上。

稳:解决用户从单机 Demo 到云上集群部署,提供一个生产环境一键部署的架构示例。

◆一、AutoPause / AutoResume:让沙箱学会自己"睡觉"◆

Agent 的世界里,沙箱大部分时间都在闲置:等用户下一条指令、等长任务回调、等 Agentic RL 的下一轮 rollout。在日均运行成千上万个沙箱的生产环境,这就是在给白白燃烧的服务器预算买单。

v0.5.0 版本中的第一个核心特性就是让沙箱学会自动暂停(AutoPause)与唤醒(AutoResume) ,且把这个做成了平台侧承担的、per-sandbox 的能力。在 SDK 侧,lifecycle 变成了 Sandbox.create 的标准参数,语义与 E2B 完全对齐:

◆ 当沙箱闲置超时,控制面会自动将沙箱的运行状态(文件系统 + 内存)整体快照到磁盘,并瞬间关停底层的沙箱。此时,它在宿主机上占用的物理资源会被完全释放。

◆ 一旦有新的网络请求到达,数据面的 CubeProxy 会自动拦截,在几十毫秒内原地唤醒沙箱,无缝接管后续流量。

这套状态机的切换完全由平台自动调度。由于目前的暂停恢复还是单机行为,为了防止单机资源的过载,我们引入了一个节点级配置:host.quota.paused_resource_release_ratio(暂停资源按比例释放)。

◆ 如果设为 0,暂停不释放调度配额;

◆ 如果设为1,暂停资源的调度配额全部释放,节点调度密度直接拉满。

当节点上一大批沙箱同时被唤醒,单节点无法承载时,控制面会返回异常,并给出具体的配额数字。

当前,用户需要在可用性和高利用率之间做出权衡,进行合理的配置,后续我们会让恢复能力突破单机的界限,可以让沙箱的恢复在集群内自由漂移,最大化提高整集群的利用率,让自动暂停恢复真正做到生产级可用。

◆Arm 原生支持,正式开启“双轨架构”时代◆

在 v0.5.0 中,Arm 工程团队与 Cube 项目团队展开了深度联合研发。从代码适配、运行环境、镜像构建到基础功能验证,Cube Sandbox 已经具备在 Arm64 平台上原生部署、编译、启动和运行典型沙箱工作负载的能力,项目状态也从早期可行性验证推进到了正式 Enablement 阶段。

为了在"Agent 原生指标"上拿到极致的结果,双方重点解决了 x86 绑定依赖、hypervisor 差异、Multi-Arch 镜像、Guest Kernel 启动路径和构建验证流程等关键问题,例如:

1. 消灭 x86 绑定与硬编码假设:清理了历史遗留的 x86 架构假设与构建依赖。

2. 跨越 Hypervisor 的底层架构鸿沟

I/O 系统的架构跨越:我们将 Guest 对 Host 的控制通知通道从原来的PIO 改写为了 MMIO

引导路径重构:x86 机器依靠轻量化 SeaBIOS 启动;针对 ARM 架构,我们改造了启动逻辑,现在可以正常使用 UEFI 固件开机;

Seccomp 沙盒对齐:针对 x86 与 ARM64 的系统调用号差异,重写了过滤规则。

这使得 Cube Sandbox 能够在 Arm 平台完成部署、编译和基本功能验证。更重要的是,双方将优化目标从传统 CPU benchmark 转向 Agent 场景真正关心的启动、Snapshot、Rollback、高并发和部署密度等指标,帮助用户获得更可用、更易用、更贴近生产需求的 Arm 原生沙箱能力。

关于 Cube Sandbox Arm 版本更详细的信息,请持续关注 Cube 公众号下周发布专题报道。

◆腾讯云 Terraform 集群化部署:从"能跑"到"能上生产"◆

v0.5.0 带来了官方研发的腾讯云 Terraform 集群化 deployer。

你只需要一份 release bundle,执行 create.sh 作为唯一入口,剩下的事全部交给受管的 IaC 流程。它会为你自动规划和拉起:

受管控制面:在腾讯云 TKE(容器服务)上拉起 cubemaster、cube-api、cubeproxy(替代旧版的路由层)和 cube-webui 等组件。为了贴合不同的业务规模与成本预期,控制面副本采用了更科学的容灾设计:

默认 POC 模式:控制面组件默认配置为 1 副本,轻量无额外开销,方便快速验证;

cubeproxy 默认保持单副本:受限于现阶段的生命周期实现,多副本会影响自动暂停/恢复的判定可靠性。为保障自动休眠唤醒功能的绝对稳定,当前版本强烈建议将其保持为 1 副本,后续版本我们会将生命周期管理从cubeproxy解耦出来,cubeproxy可以多副本高可用运行;

cubemaster 结合 CFS 镜像共享:如果需要对 cubemaster 做多副本容灾,只需一键开启腾讯云文件存储 CFS(共享存储)(TENCENTCLOUD_USE_CFS=true),多副本控制面即可通过 ReadWriteMany NFS 共享挂载同一个底层镜像库(/data/CubeMaster/storage),优雅实现多机无感灾备。

高可用中间件:后端自动外接云数据库 MySQL 和云缓存 Redis,将元数据和状态持久化在受管云服务中,彻底告别单机容器挂载的隐患。

弹性计算节点:在私有 VPC 内,可弹性配置一台或多台 CVM PVM 实例或裸金属实例,作为沙箱计算节点。

同时, --mode upgrade(在线升级流) 在这一版正式合入一键安装器。它在检测到既有安装后,会自动执行三路 .env 配置文件合并——既能保留你的自定义修改,又能把新的默认配置平滑合入,并在升级前对磁盘空间、semver 兼容性和网络 CIDR 冲突进行 fail-fast 预检。

从v 0.5.0 开始,Cube 的升级和集群扩容,变成了一个可预测、可重入的标准动作。

◆四、网络增强:入方向支持访问沙箱鉴权, 出方向支持策略路由◆

Agent 沙箱的网络,必须做到入向极度安全,出向极度可控。v0.5.0 针对数据面网络通信提供了两项关键补丁:

入向Per-sandbox 流量访问令牌:此前,只要沙箱网络打通,其入口流量近乎“裸奔”。现在,以 network.allow_public_traffic=false 创建的受限沙箱会分配到一个唯一的 traffic_access_token。CubeProxy强制拦截任何未携带该令牌的入站请求,直接返回 403。

出向——支持策略路由:此前,沙箱所有的出流量都会被转发至宿主机的主网卡出去,即使节点上有多张网卡配置了不同的路由或者各种隧道设备。新版本支持策略路由,流量通过一个虚拟网卡 cube-router,节点管理员可按需配置策略路由,无缝对接已有的网络基础设施,典型场景是宿主机内外网分离,以及通过隧道共享公网网关。

◆五、其他重要更新◆

在 v0.5.0 版本中,除了以上核心特性外,还有其他几个值得一提的更新:

纯 Go 原生 rootfs 导出:用 Go 原生重写了 rootfs 导出路径(并发预取+流式提取+即时解压),使峰值内存降低 39%、构建耗时缩短 16%

修复高并发回滚死锁:重构快照运行时绑定模型并引入分布式锁,在数据库层面消除了并发回滚时的 MySQL 1213 死锁隐患

◆ 保镜像原始所有权:修复了强制压缩(squash)uid/gid 为 root 的历史 Bug,保留了镜像原始用户所有权,解决了 Chromium 等非 root 镜像无法启动的权限痛点

◆ 沙箱创建时注入 envs: 支持E2B兼容的SDK在创建沙箱时注入 envs,对齐 E2B 规范。

◆Coming Soon……◆

接下来 Cube 将向着更深处的云原生和数据解耦演进,带来几个比较重要的新功能:

K8s 原生部署与调度:我们将深度支持 Kubernetes ,让 Agent 沙箱能够像普通 Pod 一样无缝融入任何标准 K8s 集群,享受云原生生态的完整治理与弹性。

持久化 Volume 支持:将"数据"与"沙箱生命周期"解耦。沙箱实例可以随时暂停或销毁,但 Volume 可以跨会话持久保存并按需挂载,为 Agent 注入真正的"长期记忆"。

分布式跨机暂停恢复:打破单机物理边界,实现"节点 A 暂停,节点 B 唤醒"的跨机状态漂移,最大化提高集群的资源利用率。

E2B 协议的完整对齐:我们将持续补齐剩余的协议细节与企业级特性,确保用户能够一键、无缝地将生产工作流从 E2B 切换到 Cube。

以及更多新功能的挖掘、探索……

从"单机隔离"到"弹性集群",再到"无感漂移",我们希望真正让 Cube 具备更丰富的走向企业级生产环境的能力。

如果你正在构建 Agent 工作流、Agentic RL 训练平台、或面向开发者的代码执行服务,欢迎来 GitHub 拍砖、贡献。

🔗GitHub 仓库:https://github.com/TencentCloud/CubeSandbox

欢迎给 Cube 点个 Star🌟支持开源

📖v0.5.0 完整 Changelog:https://github.com/TencentCloud/CubeSandbox/blob/master/docs/zh/changelog/v0.5.0.md

http://www.jsqmd.com/news/1125384/

相关文章:

  • 【机器人 / 强化学习】SERL:让真机强化学习从“难用”走向“可复现”的强化学习框架 ----(4)算法篇(DrQ vs VICE)
  • Topit:macOS窗口置顶技术的深度解析与实战指南
  • Makerbase ODrive v3.6 霍尔电机位置环配置:3个关键参数调优与电机抖动解决
  • 《HarmonyOS技术精讲-Core Speech Kit(基础语音服务)》第2篇:语音识别核心功能——流式与非流式实现
  • 可穿戴设备数据的 AI 分析:从 PPG 信号解码到运动负荷的实时建模
  • HelloAgents:RAG——让 Agent 学会检索知识
  • 记录arm64内核调试环境搭建qemu_arm64_linux_01
  • 金融职业发展:应用统计 vs 大数据管理,如何选择?
  • Tokio 背压设计:通道满了,比内存爆了更早告诉你问题
  • 爬虫转大模型:信息采集能力如何变成 AI,用真实案例讲清边界
  • 在浏览器里逛唐长安城,这个开源项目让我直接穿越了!
  • Go 推理客户端:重试要懂模型调用的副作用
  • WebShell溯源实战:从CVI-360001告警到漏洞根因挖掘
  • 故障诊断 Agent 权限:能查很多,不代表能改很多
  • 基于STM32单片机智能手环心率血氧体温GPS定位跌倒计步器系统设计12(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 别被名字骗了:普通人如何用 Codex 打造专属的“AI 超级员工”
  • camelAI 是一款主打“随心构建”理念的编程工具
  • DIO四川资阳生产基地量产纪念仪式圆满举行 | 全球“双核制造体系”与口腔AI实验室同步启航
  • 《用AI做公众号流量主》第13课:为什么 99% 的人用 AI 生产的都是“电子垃圾”?
  • Java毕设项目:乡村物资救助与公益捐赠服务系统的设计与实现 智慧助农公益帮扶综合管理平台 (源码+文档,讲解、调试运行,定制等)
  • 手中有机, 心中不慌 (5 只 二手 Android 手机)
  • 短剧AI翻译隐性收费横评:5款平台费用明细对比避坑
  • 基于51/STM32单片机点滴速度液体检测 智能输液蓝牙监控系统 套件12(设计源文件+万字报告+讲解)(支持资料、图片参考_相关定制)_
  • 漏扫发现-Web服务篇Poc开发Yakit插件编写Afrog项目Yaml语法Yak语言接受匹配
  • 2026知识付费平台全对比!新手开课首选平台汇总推荐
  • 华为 eNSP 安装完全指南(人民标准版 v3.0)
  • 一起动手学LangChain吧-从零创建一个agent
  • try-throw-catch异常捕获流程
  • Redis Stream 消息队列总结
  • CTF ECC基础离散对数爆破 解题Writeup