Skip to content

Commit 1943a54

Browse files
committed
[zh-cn]Add blog:2025-08-27-volume-group-snapshot-beta-2.md
Signed-off-by: xin.li <[email protected]>
1 parent 18187d9 commit 1943a54

File tree

1 file changed

+141
-0
lines changed

1 file changed

+141
-0
lines changed
Lines changed: 141 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,141 @@
1+
---
2+
layout: blog
3+
title: "Kubernetes v1.34: 将卷组快照推进至 v1beta2 阶段"
4+
date: 2025-09-16T10:30:00-08:00
5+
slug: kubernetes-v1-34-volume-group-snapshot-beta-2
6+
author: >
7+
Xing Yang (VMware by Broadcom)
8+
translator: >
9+
[Xin Li](https://github.com/my-git9) (DaoCloud)
10+
---
11+
<!--
12+
layout: blog
13+
title: "Kubernetes v1.34: Moving Volume Group Snapshots to v1beta2"
14+
date: 2025-09-16T10:30:00-08:00
15+
slug: kubernetes-v1-34-volume-group-snapshot-beta-2
16+
author: >
17+
Xing Yang (VMware by Broadcom)
18+
-->
19+
20+
<!--
21+
Volume group snapshots were [introduced](/blog/2023/05/08/kubernetes-1-27-volume-group-snapshot-alpha/)
22+
as an Alpha feature with the Kubernetes 1.27 release and moved to [Beta](/blog/2024/12/18/kubernetes-1-32-volume-group-snapshot-beta/) in the Kubernetes 1.32 release.
23+
The recent release of Kubernetes v1.34 moved that support to a second beta.
24+
The support for volume group snapshots relies on a set of
25+
[extension APIs for group snapshots](https://kubernetes-csi.github.io/docs/group-snapshot-restore-feature.html#volume-group-snapshot-apis).
26+
These APIs allow users to take crash consistent snapshots for a set of volumes.
27+
Behind the scenes, Kubernetes uses a label selector to group multiple PersistentVolumeClaims
28+
for snapshotting.
29+
A key aim is to allow you restore that set of snapshots to new volumes and
30+
recover your workload based on a crash consistent recovery point.
31+
32+
This new feature is only supported for [CSI](https://kubernetes-csi.github.io/docs/) volume drivers.
33+
-->
34+
卷组快照在 Kubernetes 1.27 版本中作为 Alpha 特性被引入,
35+
并在 Kubernetes 1.32 版本中移至 [Beta](/zh-cn/blog/2024/12/18/kubernetes-1-32-volume-group-snapshot-beta/) 阶段。
36+
Kubernetes v1.34 的最近一次发布将该支持移至第二个 Beta 阶段。
37+
对卷组快照的支持依赖于一组[用于组快照的扩展 API](https://kubernetes-csi.github.io/docs/group-snapshot-restore-feature.html#volume-group-snapshot-apis)
38+
这些 API 允许用户为一组卷获取崩溃一致性快照。在后台,Kubernetes 根据标签选择器对多个
39+
PersistentVolumeClaim 分组,并进行快照操作。关键目标是允许你将这组快照恢复到新卷上,
40+
并基于崩溃一致性恢复点恢复工作负载。
41+
42+
此新特性仅支持 [CSI](https://kubernetes-csi.github.io/docs/) 卷驱动。
43+
44+
<!--
45+
## What's new in Beta 2?
46+
47+
While testing the beta version, we encountered an [issue](https://github.com/kubernetes-csi/external-snapshotter/issues/1271) where the `restoreSize` field is not set for individual VolumeSnapshotContents and VolumeSnapshots if CSI driver does not implement the ListSnapshots RPC call.
48+
We evaluated various options [here](https://docs.google.com/document/d/1LLBSHcnlLTaP6ZKjugtSGQHH2LGZPndyfnNqR1YvzS4/edit?tab=t.0) and decided to make this change releasing a new beta for the API.
49+
-->
50+
## Beta 2 的新内容
51+
52+
在测试 Beta 版本时,我们遇到了一个问题:如果 CSI 驱动未实现 ListSnapshots RPC 调用,
53+
则对于单独的 VolumeSnapshotContent 和 VolumeSnapshot 来说,`restoreSize` 字段不会被设置。
54+
我们在这里评估了不同的选项[此处](https://docs.google.com/document/d/1LLBSHcnlLTaP6ZKjugtSGQHH2LGZPndyfnNqR1YvzS4/edit?tab=t.0)
55+
并决定为此发布一个新的 Beta 版本 API。
56+
57+
<!--
58+
Specifically, a VolumeSnapshotInfo struct is added in v1beta2, it contains information for an individual volume snapshot that is a member of a volume group snapshot.
59+
VolumeSnapshotInfoList, a list of VolumeSnapshotInfo, is added to VolumeGroupSnapshotContentStatus, replacing VolumeSnapshotHandlePairList.
60+
VolumeSnapshotInfoList is a list of snapshot information returned by the CSI driver to identify snapshots on the storage system.
61+
VolumeSnapshotInfoList is populated by the csi-snapshotter sidecar based on the CSI CreateVolumeGroupSnapshotResponse returned by the CSI driver's CreateVolumeGroupSnapshot call.
62+
63+
The existing v1beta1 API objects will be converted to the new v1beta2 API objects by a conversion webhook.
64+
-->
65+
具体来说,在 v1beta2 中添加了一个 VolumeSnapshotInfo 结构,它包含了属于卷组快照成员的单个卷快照的信息。
66+
67+
VolumeSnapshotInfoList,即 VolumeSnapshotInfo 的列表,被添加到 VolumeGroupSnapshotContentStatus
68+
中,取代了 VolumeSnapshotHandlePairList。
69+
70+
VolumeSnapshotInfoList 是 CSI 驱动通过 ListSnapshots 调用返回的快照信息列表,用于识别存储系统上的快照。
71+
72+
VolumeSnapshotInfoList 由 csi-snapshotter 边车根据 CSI 驱动的 CreateVolumeGroupSnapshot
73+
调用返回的 CSI CreateVolumeGroupSnapshotResponse 填充。
74+
75+
现有的 v1beta1 API 对象将通过转换 Webhook 转换为新的 v1beta2 API 对象。
76+
77+
<!--
78+
## What’s next?
79+
80+
Depending on feedback and adoption, the Kubernetes project plans to push the volume
81+
group snapshot implementation to general availability (GA) in a future release.
82+
-->
83+
## 接下来?
84+
85+
根据反馈和采用情况,Kubernetes 项目计划在未来的版本中将卷组快照实现推进到正式发布版本(GA)。
86+
87+
<!--
88+
## How can I learn more?
89+
90+
- The [design spec](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/3476-volume-group-snapshot)
91+
for the volume group snapshot feature.
92+
- The [code repository](https://github.com/kubernetes-csi/external-snapshotter) for volume group
93+
snapshot APIs and controller.
94+
- CSI [documentation](https://kubernetes-csi.github.io/docs/) on the group snapshot feature.
95+
-->
96+
## 如何了解更多?
97+
98+
- 卷组快照特性的[设计规范](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/3476-volume-group-snapshot)
99+
- 卷组快照 API 和控制器的[代码仓库](https://github.com/kubernetes-csi/external-snapshotter)
100+
- CSI 关于组快照特性的[文档](https://kubernetes-csi.github.io/docs/)
101+
102+
<!--
103+
## How do I get involved?
104+
105+
This project, like all of Kubernetes, is the result of hard work by many contributors
106+
from diverse backgrounds working together. On behalf of SIG Storage, I would like to
107+
offer a huge thank you to the contributors who stepped up these last few quarters
108+
to help the project reach beta:
109+
-->
110+
## 如何参与?
111+
112+
这个项目,如同所有的 Kubernetes 项目一样,是许多来自不同背景的贡献者共同努力的结果。
113+
代表 SIG Storage,我想对过去几个季度中挺身而出帮助项目达到 Beta 阶段的贡献者们表示巨大的感谢:
114+
115+
116+
* Ben Swartzlander ([bswartz](https://github.com/bswartz))
117+
* Hemant Kumar ([gnufied](https://github.com/gnufied))
118+
* Jan Šafránek ([jsafrane](https://github.com/jsafrane))
119+
* Madhu Rajanna ([Madhu-1](https://github.com/Madhu-1))
120+
* Michelle Au ([msau42](https://github.com/msau42))
121+
* Niels de Vos ([nixpanic](https://github.com/nixpanic))
122+
* Leonardo Cecchi ([leonardoce](https://github.com/leonardoce))
123+
* Saad Ali ([saad-ali](https://github.com/saad-ali))
124+
* Xing Yang ([xing-yang](https://github.com/xing-yang))
125+
* Yati Padia ([yati1998](https://github.com/yati1998))
126+
127+
<!--
128+
For those interested in getting involved with the design and development of CSI or
129+
any part of the Kubernetes Storage system, join the
130+
[Kubernetes Storage Special Interest Group](https://github.com/kubernetes/community/tree/master/sig-storage) (SIG).
131+
We always welcome new contributors.
132+
133+
We also hold regular [Data Protection Working Group meetings](https://github.com/kubernetes/community/tree/master/wg-data-protection).
134+
New attendees are welcome to join our discussions.
135+
-->
136+
对于那些有兴趣参与 CSI 或 Kubernetes 存储系统任何部分的设计和开发的人,可以加入
137+
[Kubernetes 存储特别兴趣小组](https://github.com/kubernetes/community/tree/master/sig-storage)(SIG)。
138+
我们始终欢迎新的贡献者。
139+
140+
我们还定期举行[数据保护工作组会议](https://github.com/kubernetes/community/tree/master/wg-data-protection)
141+
新参会者可以加入我们的讨论。

0 commit comments

Comments
 (0)