---
url: https://cubesandbox.com/zh/changelog/v0.8.0.md
---

## 2026.11.12 Release v0.8.0

本次发布包含 8 个重大特性，以及多项功能增强与 Bug 修复。共 128 个 PR，来自 46 位贡献者。

### ⭐ 亮点

* **新增JuiceFS COW存储后端（preview）**：基于JuiceFS支持模板跨节点共享、沙箱暂停后跨机恢复及从快照跨机启动。
* **新增FS-only快照能力**：支持仅对沙箱文件系统进行快照，降低存储成本。
* **新增沙箱重启策略**：当沙箱内服务崩溃时，支持自动重启沙箱。
* **调度插件系统**：支持通过CEL、外部调度插件来自定义沙箱在集群中的调度策略。
* **E2B SDK兼容性进一步增强**：支持E2B 2.51.0及以上版本。详情见 E2B API Compatibility and Differences | CubeSandbox
* **沙箱指标与日志采集**：支持在Prometheus、Grafana中查看各项指标。

### 🎯 核心特性

#### 可扩展的调度插件系统 & 调度质量评估框架

* 支持通过内置插件、CEL表达式以及外部gRPC插件来自定义沙箱调度策略，能更加灵活、动态的调整集群的调度行为。
* 新增调度质量评估框架，通过模拟集群拓扑、负载，支持在开发阶段快速衡量某种调度策略的装箱率、碎片、羊群度、调度延迟等指标。

#### JuiceFS COW存储后端支持

* 基于JuiceFS支持模板跨节点共享、沙箱暂停后跨机恢复及从快照跨机启动。支持 Redis、MySQL、TiKV 等多种元数据引擎，以及 MinIO、腾讯云 COS 等对象存储。(#2085)

#### 支持仅对沙箱的文件系统进行快照

* 支持仅对沙箱的文件系统进行快照，降低快照存储成本。用户可以通过FS-only的快照，冷启动新的沙箱。（#2145）

#### 沙箱内服务崩溃时，支持配置自动重启沙箱

* 支持设置沙箱的重启策略，当沙箱内的服务故障时，可以自动在同节点上重启沙箱。

#### 支持沙箱之间通过端口映射互访

* 沙箱之间可以通过其母机端口映射相互访问，基于 TCP 协议的服务都可以通过这种方式实现，不局限于 CubeProxy 的 HTTP/HTTPS/gRPC
* 同母机沙箱通过 hairpin 的方式也支持这种方式通信方式
* 一个沙箱访问另一个沙箱，除了可以通过CubeProxy的HTTP/GRPC方式之外，还可以通过Port-Mapping方式，一种TCP四层通信，支持任何基于TCP的应用，这两种方式都支持同node或跨node的沙箱间访问。

#### Volume框架增强：支持传递用户私有数据

* Volume框架支持传递用户私有数据，可用于支持鉴权，分桶等业务逻辑。(#2136)

#### 沙箱和集群可观测能力提升

* 采集沙箱资源指标及日志，也可以支持扩展更多可视化工具，提供默认看板配置，可灵活对接用户已有的监控、日志运维系统，如Prometheus、Grafana等。为生产化提供统一的可观测，支持运行监测与问题排查手段。（#2183）

### ✨ 功能增强

#### 调度和资源管理

* 新增模板级沙箱 QoS能力：可以设置特定模板创建的沙箱的网络带宽、网络包速率、磁盘吞吐、IOPS上限，避免单个沙箱吃掉宿主机全部资源、影响同机其他沙箱。 (#1174)
* 节点超卖配置设置：支持CLI和Web两种方式设置节点超卖配置，新增节点侧常驻进程ops-agent，承接CubeOps下发的配置指令并修改Cubelet配置文件 (#1870)
* 优化沙箱创建耗时：解决在AMD等厂商的CPU上，由于沙箱资源采集机制读取cgroup，导致沙箱并发创建耗时升高的问题。(#2073)

#### SDK及E2B兼容性

* 新增支持E2B的/v2/sandboxes和/v2/sandboxes/{id}/connect两个接口。使用E2B SDK 2.51.0及以上版本的用户，可以直接创建和连接沙箱，不必再做适配层。(#1800)
* Python/Node/Go SDK新增E2B兼容的Sandbox.fork接口。 (#1649)
* 支持按照快照ID/名称删除快照的能力。(#1987)
* 支持在创建/查询/列表/连接和fork的沙箱响应中查看模版别名。(#2062)
* 支持按照快照名称/ID过滤快照列表。(#2151)
* Python/Node/Go SDK新增Sandbox.is\_running的SDK能力。(#2159)

#### 模板与存储

* 制品分发并发数可配置：用户可根据网络带宽&集群规模来调整CubeMaster 向各节点推送 rootfs 制品的并发数 (#1973)
* 优化快照链，同一节点的派生快照共用一个父快照；使用共享内存优化写流程；增加使用快照时的自动预热功能；同时收紧了重启、热升级和 checkpoint 恢复时的校验。 (#1996)
* cubemastercli tpl delete 新增 --force 选项：支持清理卡住或处于异常构建状态的模板删除任务，强制删除模板元数据及模板在各节点上的制品副本。(#2038)
* 支持通过SDK/API创建模版时指定存储后端 (#2039)
* 模板支持指定运行用户：建模板时可以指定沙箱以哪个用户（UID或用户名）来运行。 (#2072)
* 优化 ext4 镜像的存储和下载. (#1885)

#### 生命周期和控制面

* vsock连接管理优化 (#1925)
* 优化沙箱详情查询接口，减少查询开销。 (#2092)

#### 网络

* DNS 解析流程迁移至控制面，简化数据面实现（#1640）
* 沙箱可直接使用k8s集群 DNS (#1741)
* CubeVS 可观测性增强，支持导出每沙箱网络指标（#1889）
* CubeProxy 支持 E2b-Sandbox-\* 头部转发请求（#1952）
* CubeEgress 七层规则支持 "\*" 全匹配（#2001）

#### Runtime

* vsock 吞吐提升 60%+：启用 VIRTIO\_RING\_F\_EVENT\_IDX 后省掉了 guest 不需要时的多余中断，双向吞吐从约 5.7 Gbps 提升到约 9.3 Gbps。(#1862)
* 通过减少不必要的 ioctl 数量, 小幅加速在 arm 沙箱快照的恢复 (#1865)
* arm/x86 的 guest kernel 日志输出将会统一重定向到 virtio-console 以降低冷启动开销 (#1992)；

#### 部署与升级

* k8s部署下，支持私有 CA 镜像仓库：Helm 里配置 trustedCACerts 即可正常拉镜像。(#1995)
* 控制面原生支持 Redis Cluster
* 计算节点组件启动提速（#2058）

#### Web UI / CubeOps

* WebUI模板页新增快照列表Tab. (#1968)
* WebUI 补齐模板别名和后端存储显示. (#2006)
* cubeopscli 支持可跨级的异构节点分组展示。 (#2174)

### 🐛 Bug 修复

#### SDK

* 修复 SDK files.read 解析错误的问题。(#1571)
* sdk 支持http请求的超时时间。(#2052)
* 修复 cubecli 终端显示问题。(#2057)
* 兼容E2B SDK用state、metadata参数过滤沙箱列表。 (#2181)
* 在创建模板后获取envd版本，优化模板创建速度。(#1803)

#### 生命周期与沙箱

* 模版制作时沙箱健康状态二次检查 (#1541)
* 修复沙箱日志过多导致沙箱panic。（#1779）
* 修复已退出的沙箱被误报为运行中的问题. (#1814)
* 修复查看快照列表limit默认值与文档不符的问题. (#1832)
* 集中修复了虚拟磁盘、网络、内存热插拔、vsock、串口等虚拟设备在处理异常输入时的问题，也修复了快照恢复中的一些边界问题 (#1873)
* 修复卷激活与删除并发时 panic 毒化 name\_index 锁导致后续卷操作失败的问题。（#1981）
* 修复grpc连接池并发关闭引发的偶发 panic. (#1990)
* 修复删除沙箱后查询详情返回500而非404的问题。(#1988)
* virtiofsd 的 getxattr 改为通过 /proc/self/fd 读取 xattr，不再重新打开文件，避免 s3fs 上多出的 open/close 抵消 O\_TRUNC、导致文件长度错误。（#2002）
* 在 ARM64 上启动 guest 时，如果误用了 ELF 格式的 `vmlinux` 内核，现在会直接报错，并指出需要的是 `arch/arm64/boot/Image` (#2032)
* 修复连接沙箱时已退出的沙箱被误报连接成功的问题. (#2033)
* 解决沙箱创建失败时shim泄漏问题。(#2040)
* 解决偶现的创建沙箱失败问题。(#2054)
* 修复 Cubelet 对沙箱暂停/恢复后 guest\_workload 指标周期重置的处理逻辑，避免旧周期缓存导致监控数据中断。(#2155)
* 修复具有多个CLM实例的情况下，auto-pause功能失灵的问题. (#2157)

#### 网络与安全

* 修复 K8s 非 host-network 模式部署脚本中 CubeProxy 误用 Pod IP（#1921、#2115）
* Cubelet 启动流程异步挂载 TAP 钩子/清理残留 TAP，优化启动速度（#1993）
* CubeVS 转发流程优化，统一沙箱访问本机服务处理路径（#2007）
* CubeEgress 网络服务脚本优化，支持不同版本 iproute2（#2034）
* 安全加固：不再强制关闭容器的 no\_new\_privs。 (#2061)
* CubeEgress 支持转发 WebSocket upgrade 头部（#2128）
* CubeEgress 审计日志支持打印沙箱 ID（#2131）

#### 模板与存储

* 修复cubes3lvol崩溃恢复时的底层断言失败：删除没做完的子快照前先把父子关系登记好，崩溃恢复不再触发 SPDK 断言崩溃。(#2124)

#### 部署与升级

* 自动轮转CubeShim、CubeVMM日志。
* pvm-host 移除了 kmem\_cache 机制，并让 pvm-host 始终使用稳定的 TSC 时钟源以支持pvm-guest 时间同步。(#1955)
* pvm-host 在自主构建时会对所有模块签名以避免某些ubuntu系统reboot之后会卡在 initramfs 救援 shell；
* One-click 部署 CoreDNS 支持响应 AAAA 解析请求（#2075）

#### Web UI / CubeOps

* 修复AgentHub创建沙箱时未指定模板导致创建失败的问题 (#1334)
* 修复沙箱列表翻页不生效的问题.(#1830)
* 修复cubeopscli出错时无任何提示的问题. (#2135)

#### 其它

* 修复健康检查返回错误的沙箱数量的问题. (#2030)

### 📚 Documentation

* 完善 CubeSandbox & E2B 兼容性文档
* 添加nightly质量状态页面
* 基于 oc9 内核 (6.6.119-53.6) 更新 v0.7.3 在 Intel 8255C 裸金属上的 cube-bench 数据；(#2084)
* 新增排查指南, 当计算节点时钟比控制节点慢 15 秒以上时，节点会被误判为心跳过期而不能调度 (#2084) (#2087)
* 新增离线部署文档。
* 文档补充存活探针示例. (#2185)
