2026.05.07 发布 v0.2.0
🌟 重大新功能
Web 管理控制台(Dashboard):全新的可视化管理界面,包含集群概览、节点和沙箱状态、模板管理、API Key 管理等功能;新增 CubeAPI Web 端点支持 Dashboard。
PVM 部署模式:基于 PVM(Pagetable-based Virtual Machine),普通云服务器无需裸金属或嵌套虚拟化即可运行 CubeSandbox。腾讯云已在生产环境中大规模部署和验证 PVM 实例,改进已开源至 OpenCloudOS 内核。
✨ 增强功能
- 模板创建自定义 DNS:
cubemastercli template新增--dns参数,允许在创建模板镜像时指定自定义 DNS 服务器地址。
🛠️ 关键修复
修复磁盘 QoS (blk_qos) 不生效的问题:Cubelet 使用错误的 key 读取 QoS 注解,静默忽略 IOPS/带宽限制;现在限制按配置生效。
修复 host-mount 请求被静默丢弃的问题:CubeAPI 使用
host-mount作为注解 key,而 CubeMaster 使用hostdir-mount;key 不匹配导致所有主机目录挂载被忽略。现已对齐 key,host-mount 正常工作。修复 Cubelet 挂载命名空间未接收主机挂载事件的问题:Cubelet 以 private 模式创建挂载命名空间,阻止后续主机挂载的传播;改为 slave 模式,使主机挂载事件单向传播到 Cubelet 命名空间而不影响主机。
修复 DeadGC 永久冻结暂停沙箱的问题:
scanDeadContainer在沙箱持有 mutex 时(暂停中/已暂停)发出state()调用,导致 5 秒超时、Cubelet 将沙箱标记为 UNKNOWN、CubeMaster 放弃恢复。DeadGC 现在跳过暂停中/已暂停状态的沙箱。
🌐 网络
- 禁用 virtio-net TAP offload (TSO/UFO/CSUM):Hypervisor 之前向 Guest 暴露硬件 offload 特性;Guest 发出的 CHECKSUM_PARTIAL 数据包可能导致网络错误甚至禁用主机 NIC 上的 tx-checksumming,影响其他租户。Hypervisor 不再暴露这些特性;Guest 自行处理校验和和分段。
⚙️ 工程改进
- Cubelet CLI 日志标准化:将
cubecli子命令(cubebox、network、storage、volume等)中的旧版myPrint输出迁移到结构化日志。 - 死代码清理:移除 CubeMaster affinityutil 测试中未使用的
AppId字段。
📚 文档更新
- 新增 PVM 部署指南(中英文):完整教程涵盖 PVM 主机内核安装、GRUB 配置、模块加载和验证。
- 快速开始更新:普通云服务器现在可通过 PVM 使用 —— 无需裸金属。
- 更新 code-sandbox-quickstart 示例 README(中英文)。