2026.05.07 发布 v0.2.0
🌟 重大新功能
新增 Web 管理控制台(Dashboard):全新可视化管理界面,支持集群概览、节点与沙箱状态查看、模板管理、API 密钥管理等核心功能;同步新增 CubeAPI Web 端点为 Dashboard 提供数据支撑。
新增 PVM 部署模式:借助 PVM(Pagetable-based Virtual Machine),普通云服务器无需裸金属,也无需嵌套虚拟化,即可完整运行 CubeSandbox。腾讯云已在生产环境大规模部署并验证,相关改进已开源至 OpenCloudOS 内核。
✨ 功能增强
- CubeMaster 模板创建支持自定义 DNS:
cubemastercli template命令新增--dns参数,支持在创建模板镜像时指定 DNS 服务器地址。
🛠️ 关键修复
修复磁盘 QoS(blk_qos)配置完全失效问题:Cubelet 读取 QoS annotation 时使用了错误的 key,导致沙箱磁盘 IOPS/带宽限速静默不生效;修复后配置按预期生效。
修复 Host Mount 请求被静默丢弃问题:CubeAPI 写入
host-mountannotation 时 key 与 CubeMaster 读取时的hostdir-mount不一致,导致所有宿主机目录挂载请求被忽略;修复后两侧 key 对齐,功能恢复正常。修复 Cubelet 挂载命名空间无法接收宿主机 mount 事件:Cubelet 以私有模式创建挂载命名空间,导致宿主机后续挂载无法传播至 Cubelet;修复后改为 slave 模式,宿主机挂载事件单向传播,沙箱 host-mount 功能完整可用。
修复 DeadGC 误判 pause 中的沙箱导致其永久冻结:
scanDeadContainer在沙箱处于 pausing/paused 状态时向 shim 发起 state 查询,因 shim 持有互斥锁而超时,Cubelet 将状态标记为 UNKNOWN,沙箱无法恢复;修复后 DeadGC 主动跳过此类沙箱。
🌐 网络改进
- 禁用 virtio-net TAP 网络卸载(TSO/UFO/CSUM):此前 hypervisor 向 guest 通告了多项网络硬件卸载能力,guest 发出的 CHECKSUM_PARTIAL 包在宿主机 NIC 不支持对应卸载时会导致网络异常,甚至影响同宿主机其他流量;修复后 hypervisor 不再通告这些能力,guest 自行处理 checksum 与分段。
⚙️ 工程改进
- Cubelet CLI 日志标准化:将
cubecli各子命令中遗留的myPrint自定义输出统一迁移为标准结构化日志。 - 废弃代码清理:移除 CubeMaster affinityutil 测试中不再使用的
AppId字段。
📚 文档更新
- 新增 PVM 部署指南(中英双语):包含 PVM host kernel 下载安装、GRUB 配置、模块加载及验证的完整流程。
- 优化快速入门:说明普通云服务器可通过 PVM 部署,无需裸金属。
- 更新 code-sandbox-quickstart 示例 README(中英双语)。