Cube Sandbox v0.6.0:K8s 部署、Volume 框架领衔,六大能力全面走向生产
如果前几个版本是让 Cube 具备完善的基础功能,那么 v0.6.0 则是针对稳定性、容错、运维与监控等维度进行了更深层优化,并引入了更灵活的扩展与存储支持。这一版共合入 92 个提交,来自 31 位贡献者,带来六大核心特性。其中, K8s 与 Volume 支持是社区呼声最高的两项,也是本次发布版本的最大亮点。
01
这一版起,Cube 的控制面组件与计算节点均可通过 Helm Chart 直接部署到 K8s 集群——无论是腾讯云 TKE、标准 K8s 还是轻量的 k3s。
从技术上看,这件事的价值在于,把 Cube 的生命周期交还给了 K8s 的控制循环。过去把 Cube 搬上生产,往往要在集群之外再维护一套部署、升级、扩缩容的流程,Cube 像一个需要单独照看的“外挂系统”。现在,控制面组件以标准工作负载的形式运行,计算节点作为可调度、可编排的资源纳入集群管理,滚动升级、灰度发布、水平扩缩等 K8s 原生能力,可以原样作用在 Cube 上。Cube 从“特殊对象”变成了集群里的普通一员。
需要说明,K8s 部署当前是预览版,平滑升级等进阶能力仍在打磨。这一步的方向已经明确:让 Cube 真正做到 K8s 原生。欢迎你上手试用,把踩到的坑反馈给我们。
02
沙箱如何持久化和共享数据,是很多团队关心的问题。v0.6.0 开始,已正式引入兼容 E2B 标准的 Volume 框架。
它的设计核心是可定制。框架本身不绑定任何具体存储实现,而是抽象出 Create、Destroy、Attach、Detach 四个 HOOK 点——沙箱与存储的交互全部收敛到这四个节点上。你要接入自己的后端存储,只需实现这几个钩子即可,无需改动 Cube 内核。插件形态也给了两种选择:既可以做成独立的可执行程序,也可走 RPC 调用,前者部署简单、隔离性好,后者更适合复杂或需要常驻的存储服务。而兼容 E2B 标准意味着,面向 E2B Volume 协议编写的工作负载,可以平滑迁移到自托管的 Cube 集群上。
这一版已经支持 Volume 的生命周期管理、沙箱绑定 Volume 的相关 API,以及配套的 SDK 与命令行能力。换句话说,“沙箱用什么存储”这件事的主动权,从今天起回到了你手上。
03
以往拉起沙箱要指定一长串模板标识,容易记错。现在创建模板时可以设置一个别名,之后直接用别名创建沙箱,既直观又不易出错。目前 Python SDK 已支持通过别名创建沙箱,其他 SDK 将在后续支持。
04
有些应用会依赖请求的 Host 做路由、校验或回调,默认的转发 Host 未必满足它们。这一版允许在创建沙箱时指定转发给沙箱内服务的 Host,让这类"挑剔 Host"的服务也能在 Cube 上顺畅运行,兼容性更进一步。
05
运维少不了要登录节点做维护、升级或排障。这一版支持将某个计算节点从调度层面"隔离"出来——一旦隔离,调度器不再往该节点分配新沙箱,而节点上已有的存量沙箱照常运行,互不影响。维护完成后再解除隔离即可。这让运维动作既安全又可控,不必再为"会不会影响线上"而束手束脚。
06
我们把 Web 控制台与运维相关逻辑从 CubeAPI 模块中剥离出来,独立为 CubeOps 服务。这次解耦让 CubeAPI 回归到更纯粹的角色,职责更清晰、更易扩展;运维与控制台能力也获得了独立演进的空间。这也是 Cube 走向模块化、可组合架构的重要一步。
07
除六大核心特性外,v0.6.0 还有一批面向稳定性与易用性的改进:
Pause 状态沙箱可删除
新增 PostgreSQL 元数据后端
沙箱内从 cgroup v1 升级到 cgroup v2
Cubelet 状态存储支持动态扩容
多个 SDK 的交互终端、认证与协议帧问题得到修复
网络与安全代理侧对齐了 E2B 的错误码语义并增强了 TLS 兼容性
修复 CVE 安全漏洞,并更新了 PVM 内核
配套的 Kubernetes 部署、节点隔离、Volume 插件等中英文文档也已同步上线……
08
v0.6.0 迈出的是“生产可用”的一步,而 Cube 的方向一直很清楚——云原生、E2B 兼容、高可用、有状态。围绕这四条主线,v0.7.0 及后续版本正在推进:
让 K8s 部署更“原生”:从 Helm 部署进一步走向以 CRD、Operator 为核心的原生管理,并补齐平滑升级能力。
跨机暂停与恢复:实现集群维度的跨节点暂停与恢复——把沙箱从一台宿主机暂停、迁移到另一台完整恢复,保留内存与文件系统状态,提高整集群资源利用率。
全链路高可用能力:执行流和运维流的分离,所有控制面组件的高可用部署,计算节点故障时的沙箱恢复能力。
持续对齐 E2B:补齐剩余 API 差距,提供 E2B 兼容的指标接口,让面向 E2B 的工作负载零改动接入。
性能与运维再进一步:优化业务进程的 IO 效率、提供一键性能测试工具,持续补齐实际生产部署需要的运维能力和可观测能力。
如果你正在寻找一个高性能、易运维、兼容 E2B 的沙箱方案,不妨现在就试试 v0.6.0。用得顺不顺、卡在哪儿、还差什么——这些真实的声音,比任何路线图都更能告诉我们下一步该往哪走。
GitHub 上见:https://github.com/TencentCloud/CubeSandbox
v0.6.0 完整 Changelog:https://github.com/TencentCloud/CubeSandbox/blob/master/docs/zh/changelog/v0.6.0.md
Cube Sandbox 是腾讯云开源的一款基于 RustVMM 与 KVM 构建的高性能、开箱即用的安全沙箱服务。它既支持单机部署,也能方便地扩展到多机集群。对外兼容 E2B SDK,可在 60ms 内创建具备完整服务能力的硬件隔离沙箱,并将内存开销控制在 5MB 以内。
-End-