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

发布时间:2026/7/5 2:02:24

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_CFStrue多副本控制面即可通过 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_trafficfalse 创建的受限沙箱会分配到一个唯一的 traffic_access_token。CubeProxy强制拦截任何未携带该令牌的入站请求直接返回 403。◆出向——支持策略路由此前沙箱所有的出流量都会被转发至宿主机的主网卡出去即使节点上有多张网卡配置了不同的路由或者各种隧道设备。新版本支持策略路由流量通过一个虚拟网卡 cube-router节点管理员可按需配置策略路由无缝对接已有的网络基础设施典型场景是宿主机内外网分离以及通过隧道共享公网网关。◆五、其他重要更新◆在 v0.5.0 版本中除了以上核心特性外还有其他几个值得一提的更新◆纯 Go 原生 rootfs 导出用 Go 原生重写了 rootfs 导出路径并发预取流式提取即时解压使峰值内存降低 39%、构建耗时缩短 16%◆修复高并发回滚死锁重构快照运行时绑定模型并引入分布式锁在数据库层面消除了并发回滚时的 MySQL 1213 死锁隐患◆ 保留镜像原始所有权修复了强制压缩squashuid/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 完整 Changeloghttps://github.com/TencentCloud/CubeSandbox/blob/master/docs/zh/changelog/v0.5.0.md

相关新闻