Kubernetes v1.34: 将卷组快照推进至 v1beta2 阶段
卷组快照在 Kubernetes 1.27 版本中作为 Alpha 特性被引入,并在 Kubernetes 1.32 版本中移至 Beta 阶段。Kubernetes v1.34 的最近一次发布将该支持移至第二个 Beta 阶段。对卷组快照的支持依赖于一组用于组快照的扩展 API。这些 API 允许用户为一组卷获取崩溃一致性快照。在后台,Kubernetes 根据标签选择器对多个PersistentVolumeClaim 分组,并进行快照操作。关键目标是允许你将这组快照恢复到新卷上,并基于崩溃一致性恢复点恢复工作负载。
此新特性仅支持 CSI 卷驱动。
Beta 2 的新内容
在测试 Beta 版本时,我们遇到了一个问题:如果 CSI 驱动未实现 ListSnapshots RPC 调用,则对于单独的 VolumeSnapshotContent 和 VolumeSnapshot 来说,restoreSize 字段不会被设置。我们在这里评估了不同的选项此处,并决定为此发布一个新的 Beta 版本 API。
具体来说,在 v1beta2 中添加了一个 VolumeSnapshotInfo 结构,它包含了属于卷组快照成员的单个卷快照的信息。
VolumeSnapshotInfoList,即 VolumeSnapshotInfo 的列表,被添加到 VolumeGroupSnapshotContentStatus中,取代了 VolumeSnapshotHandlePairList。
VolumeSnapshotInfoList 是 CSI 驱动通过 ListSnapshots 调用返回的快照信息列表,用于识别存储系统上的快照。
VolumeSnapshotInfoList 由 csi-snapshotter 边车根据 CSI 驱动的 CreateVolumeGroupSnapshot调用返回的 CSI CreateVolumeGroupSnapshotResponse 填充。
现有的 v1beta1 API 对象将通过转换 Webhook 转换为新的 v1beta2 API 对象。
接下来?
根据反馈和采用情况,Kubernetes 项目计划在未来的版本中将卷组快照实现推进到正式发布版本(GA)。
如何了解更多?
如何参与?
这个项目,如同所有的 Kubernetes 项目一样,是许多来自不同背景的贡献者共同努力的结果。代表 SIG Storage,我想对过去几个季度中挺身而出帮助项目达到 Beta 阶段的贡献者们表示巨大的感谢:
- Ben Swartzlander (bswartz)
- Hemant Kumar (gnufied)
- Jan Šafránek (jsafrane)
- Madhu Rajanna (Madhu-1)
- Michelle Au (msau42)
- Niels de Vos (nixpanic)
- Leonardo Cecchi (leonardoce)
- Saad Ali (saad-ali)
- Xing Yang (xing-yang)
- Yati Padia (yati1998)
对于那些有兴趣参与 CSI 或 Kubernetes 存储系统任何部分的设计和开发的人,可以加入Kubernetes 存储特别兴趣小组(SIG)。我们始终欢迎新的贡献者。
我们还定期举行数据保护工作组会议。新参会者可以加入我们的讨论。