Kubernetes 变更块跟踪(Changed Block Tracking,CBT)API - Beta 版本差异

CSI 驱动的变更块跟踪(Changed Block Tracking,CBT)支持已于 2025 年 9 月作为 Alpha 特性发布。 随着 external-snapshot-metadata 项目在 3 月发布 v1.0.0 版本,该特性已进入 Beta 阶段。

如果你还不熟悉 Kubernetes 存储的变更块跟踪Alpha 公告介绍了其动机、 三个主要组件(CSI SnapshotMetadata gRPC 服务、SnapshotMetadataService CRD 和 external-snapshot-metadata 边车)以及如何使用该 API 的演练。 本文重点关注 Beta 版本中的不同之处。

Beta 中的新特性

此版本的主要变更是将 SnapshotMetadataService CRD 从 v1alpha1 升级到 v1beta1。 用于通告驱动元数据服务的 CRD 现在提供 cbt.storage.k8s.io/v1beta1。 模式本身没有变化,但此版本移除了 v1alpha1(而不是与新版本同时提供)。 如果你从 Alpha 升级,需要:

  • 重新应用 v1.0.0 附带的 CRD 定义。
  • 更新 SnapshotMetadataService 清单,使用 apiVersion: cbt.storage.k8s.io/v1beta1
  • 更新任何与该 CRD 通信的客户端或控制器代码。

这是一次性变更。两个版本之间没有自动转换。

兼容性

  • 最低 Kubernetes 版本:1.33
  • CSI 规范:1.10 或更高
  • 容器镜像:registry.k8s.io/sig-storage/csi-snapshot-metadata:v1.0.0

试用

Alpha 博客中的入门章节仍然适用。 简而言之:

  1. 确保你的 CSI 驱动支持卷快照并附带 external-snapshot-metadata 边车。
  2. 安装 SnapshotMetadataService CRD(v1.0.0 版本中的 v1beta1 定义)。
  3. 为你的驱动创建一个 SnapshotMetadataService 资源。
  4. 使用客户端 —— snapshot-metadata-lister 或你自己的实现 —— 调用 GetMetadataAllocatedGetMetadataDelta

如果你想查看完整的端到端流程, hostpath 驱动示例是一个很好的起点。

下一步?

Beta 周期剩余阶段的重点是更广泛的 CSI 驱动采用和运维反馈, 然后该特性才会向 GA 推进。如果你维护一个 CSI 驱动, 现在是评估添加支持的好时机。如果你正在基于该 API 构建备份应用, 非常欢迎提供关于流式客户端和迭代器包的反馈。

在哪里可以了解更多?

如何参与?

这项工作是 SIG Storage 许多人贡献的结果。衷心感谢所有在 Alpha 到 Beta 期间 帮助审查、编码和测试该特性的人:

如果你想参与 Kubernetes 中的 CSI 或存储相关工作, SIG Storage 是一个很好的起点。 数据保护工作组 也会定期举行会议,随时欢迎新参与者加入。

最后修改 August 08, 2026 at 8:29 PM PST: [zh-cn]sync csi-changed-block-tracking-beta (b5706b50f0)