Skip to content

2026.05.07 发布 v0.2.0

🌟 重大新功能

  • Web 管理控制台(Dashboard):全新的可视化管理界面,包含集群概览、节点和沙箱状态、模板管理、API Key 管理等功能;新增 CubeAPI Web 端点支持 Dashboard。

  • PVM 部署模式:基于 PVM(Pagetable-based Virtual Machine),普通云服务器无需裸金属或嵌套虚拟化即可运行 CubeSandbox。腾讯云已在生产环境中大规模部署和验证 PVM 实例,改进已开源至 OpenCloudOS 内核

✨ 增强功能

  • 模板创建自定义 DNScubemastercli 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 子命令(cubeboxnetworkstoragevolume 等)中的旧版 myPrint 输出迁移到结构化日志。
  • 死代码清理:移除 CubeMaster affinityutil 测试中未使用的 AppId 字段。

📚 文档更新

  • 新增 PVM 部署指南(中英文):完整教程涵盖 PVM 主机内核安装、GRUB 配置、模块加载和验证。
  • 快速开始更新:普通云服务器现在可通过 PVM 使用 —— 无需裸金属。
  • 更新 code-sandbox-quickstart 示例 README(中英文)。