Kubernetes 更改块跟踪 API - 测试版差异
Kubernetes 存储 CSI 驱动中的“块变更跟踪”(Changed Block Tracking, CBT)功能最初于 2025 年 9 月以 Alpha 版本发布。该功能通过跟踪块卷内的变更来增强存储操作。Alpha 版本的发布说明详细阐述了其动机、核心组件及使用方法。目前,CBT 仅支持块卷,暂不支持基于文件的存储。external-snapshot-metadata 项目最近的 v1.0.0 版本发布将该功能提升至 Beta 阶段。Beta 阶段的主要更新是将 SnapshotMetadataService 自定义资源定义(CRD)从 v1alpha1 升级至 v1beta1。尽管 schema 保持不变,但旧的 v1alpha1 版本已被移除,用户需进行相应调整。从 Alpha 迁移至 Beta 需要用户重新应用 CRD 定义,更新其清单以使用新的 API 版本,并调整任何客户端或控制器代码。此迁移为手动的一次性过程。Beta 版本要求 Kubernetes 最低版本为 1.33,CSI 规范版本为 1.10 或更高。兼容的容器镜像为 csi-snapshot-metadata:v1.0.0。为测试该功能,请确保您的 CSI 驱动支持快照并包含 external-snapshot-metadata sidecar。安装 v1beta1 CRD 并为您驱动创建 SnapshotMetadataService 资源。然后,使用 lister 工具或自定义实现来调用 GetMetadataAllocated 和 GetMetadataDelta 函数。开发团队目前正致力于推动更广泛的 CSI 驱动采用,并在 Beta 期间收集运营反馈。他们鼓励 CSI 驱动维护者评估添加支持,并欢迎应用程序开发人员就流式客户端和迭代器包提供反馈。更多信息可查阅 CSI 开发者文档、KEP-3314、external-snapshot-metadata 仓库、gRPC schema 以及 snapshot-metadata-lister 示例。对该功能的贡献十分显著,有兴趣的个人被鼓励与 SIG Storage 和数据保护工作组进行互动。