2026.07.24 Release v0.6.0
CubeSandbox 0.6.0 面向生产部署与运维持续增强关键能力。 当前版本引入了 6 个核心特性以及多个功能增强与问题修复。共计 92 个提交,来自 31 位贡献者。
🎯 核心特性
K8s 部署:支持在 K8s 中部署 Cube 的控制面组件及计算节点
支持通过 Helm Chart,将 CubeSandbox 的控制面组件和计算节点直接部署到腾讯云 TKE、标准 K8s 或 k3s 集群中。可通过标准 K8s 运维方式执行组件滚动升级、灰度发布等操作。关于 K8s 部署的详细信息请参考 K8s 部署指南。
预览版本
K8s 部署功能当前处于预览阶段,平滑升级等高级功能仍在积极开发中,欢迎体验和反馈。
兼容 E2B 标准的 Volume 框架
新引入兼容 E2B 标准的 Volume 框架,在兼容 E2B 标准的前提下允许用户以插件形式自定义后端存储方案。提供 Create/Destroy/Attach/Detach 四个 HOOK 点,以及 Binary/RPC 两种插件形态。当前版本提供 Volume 生命周期管理、沙箱绑定 Volume 相关 API、配套 SDK 与 cubemastercli 能力。详细信息请参考 Volume 插件文档。
支持模板别名
支持在创建模板时为模板设置别名,并通过指定别名创建沙箱。
说明:别名只能在创建模板时设置,不支持为已有模板修改别名。当前仅 Python SDK 支持指定别名创建沙箱,其他 SDK 后续即将支持。
支持配置沙箱入向请求的 Host
允许配置请求转发至沙箱时的 Host(而非默认的 <port>-<sandboxId>.<domain>),更好地兼容沙箱内基于 Host 的服务。新增 network.maskRequestHost 参数,可在创建沙箱时指定转发给沙箱内服务的 Host(例如 localhost:${PORT},访问 3000 端口时展开为 localhost:3000),以便兼容依赖 Host 做路由、校验或回调的应用。
支持计算节点隔离
支持从调度层面“隔离”某个计算节点,便于运维时登录节点进行维护、升级和排查问题。计算节点被隔离后,将不会调度新的沙箱到该节点,存量沙箱运行不受影响。
可通过 cubemastercli node isolate <node-id> 进行节点隔离,通过 unisolate 子命令解除隔离,详细用法请参考 隔离节点。
CubeOps 运维服务:将运维 & Web 控制台逻辑从 CubeAPI 模块中解耦
Web 控制台相关能力从 CubeAPI 模块中剥离,独立为 CubeOps 服务,使 CubeAPI 更轻量、更具可扩展性。
✨ 功能增强
SDK
- Go SDK PTY (#815):优化交互式终端能力。
- Python SDK X-API-Key 认证补齐 (#995):全路径请求携带 X-API-Key。
- Go SDK Connect 协议帧与数据面修复 (#828, #941):process.Process/Start、exit-0 end 事件解析,以及 encode 去重与数据面缺陷修复。
- 短沙箱 ID 前缀解析 (#697):CubeMaster / Cubelet 支持短 ID 前缀解析,运维与排障更方便。
模板与存储
- 模板支持启用 ivshmem 设备 (#858)。
- cubemastercli 用户体验优化 (#891):
tpl info/delete/redo命令体验优化。 - 新增 cubemastercli volume 相关子命令 (#1077)。
生命周期与控制面
- CLM 状态同步 (#956):增强沙箱生命周期状态一致性,控制面的暂停/恢复动作会同步给数据面。
- CubeProxy 状态推送异步化 (#1044):带退避重试,降低同步推送抖动。
- 删除触发的 auto-resume 跳过资源容量检查 (#1015):避免 delete 路径上的 resume 被容量检查误拦。
- Schema 迁移开关 (#1037, #1076):新增
CUBE_AUTO_MIGRATION环境变量,可跳过启动期数据库自动迁移,便于受控升级。 - 支持删除处于暂停状态的沙箱。
网络与安全代理
- CubeEgress MITM 叶子证书 SAN (#948):叶子证书写入 subjectAltName,改善 TLS 校验兼容性。
- Traffic token 校验失败返回 403 (#1053):对齐 E2B,避免与其他错误码混淆。
- CubeProxy Redis hostname resolver (#714):正确解析 Redis 主机名。
- Connect 流禁用 gzip (#1083):避免流式 RPC 被压缩破坏。
部署与运行时
- PostgreSQL 元数据后端 (#674, #1000):CubeMaster DAO 层支持 PostgreSQL。
- 沙箱内从 cgroup v1 改为 cgroup v2 (#899)。
- Cubelet state tmpfs 支持动态扩容 (#1008)。
Web UI / CubeOps / 其他
- 计算节点组件版本清单上报优化 (#1020)。
- CubeMaster HTTP 接口改为使用 gin 框架处理 (#922)。
🐛 Bug 修复
生命周期与沙箱
- 嵌套 host-mount 挂载顺序:按用户指定顺序进行配置 (#946)。
- 计算节点健康状态周期性同步 (#730):避免健康状态与调度视图不一致。
- WebUI:沙箱超时清理后收敛 404 终态 (#1036),消除会话失效风险 (#1048)。
安全与校验
- CVE-2026-24834 / CVE-2026-47243 修复 (#1066)。
- 镜像引用校验强化 (#868):防止参数注入。
- PVM kernel 内核更新 (#937):解决安全漏洞。
📚 新增文档
- Kubernetes 部署指南(#1067 等):中英文安装 / 架构 / 升级 / FAQ。
- 节点隔离指南 (#1093)。
- Volume 插件指南与 COS 示例 (#997, #1089)。
- 组件排障指引 (#968)。