Skip to content

Commit ddbe4b9

Browse files
authored
Merge pull request #51390 from xing-yang/volume-group-snapshot-v1beta2-blog
Add blog for volume group snapshot v1beta2
2 parents 5bc9b18 + 50663b3 commit ddbe4b9

File tree

1 file changed

+73
-0
lines changed

1 file changed

+73
-0
lines changed
Lines changed: 73 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,73 @@
1+
---
2+
layout: blog
3+
title: "Kubernetes v1.34: Moving Volume Group Snapshots to v1beta2"
4+
draft: true
5+
date: 2025-XX-XX
6+
slug: kubernetes-v1-34-volume-group-snapshot-beta-2
7+
author: >
8+
Xing Yang (VMware by Broadcom)
9+
---
10+
11+
Volume group snapshots were [introduced](/blog/2023/05/08/kubernetes-1-27-volume-group-snapshot-alpha/)
12+
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.
13+
The recent release of Kubernetes v1.34 moved that support to a second beta.
14+
The support for volume group snapshots relies on a set of
15+
[extension APIs for group snapshots](https://kubernetes-csi.github.io/docs/group-snapshot-restore-feature.html#volume-group-snapshot-apis).
16+
These APIs allow users to take crash consistent snapshots for a set of volumes.
17+
Behind the scenes, Kubernetes uses a label selector to group multiple PersistentVolumeClaims
18+
for snapshotting.
19+
A key aim is to allow you restore that set of snapshots to new volumes and
20+
recover your workload based on a crash consistent recovery point.
21+
22+
This new feature is only supported for [CSI](https://kubernetes-csi.github.io/docs/) volume drivers.
23+
24+
## What's new in Beta 2?
25+
26+
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.
27+
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.
28+
29+
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.
30+
VolumeSnapshotInfoList, a list of VolumeSnapshotInfo, is added to VolumeGroupSnapshotContentStatus, replacing VolumeSnapshotHandlePairList.
31+
VolumeSnapshotInfoList is a list of snapshot information returned by the CSI driver to identify snapshots on the storage system.
32+
VolumeSnapshotInfoList is populated by the csi-snapshotter sidecar based on the CSI CreateVolumeGroupSnapshotResponse returned by the CSI driver's CreateVolumeGroupSnapshot call.
33+
34+
The existing v1beta1 API objects will be converted to the new v1beta2 API objects by a conversion webhook.
35+
36+
## What’s next?
37+
38+
Depending on feedback and adoption, the Kubernetes project plans to push the volume
39+
group snapshot implementation to general availability (GA) in a future release.
40+
41+
## How can I learn more?
42+
43+
- The [design spec](https://github.com/kubernetes/enhancements/tree/master/keps/sig-storage/3476-volume-group-snapshot)
44+
for the volume group snapshot feature.
45+
- The [code repository](https://github.com/kubernetes-csi/external-snapshotter) for volume group
46+
snapshot APIs and controller.
47+
- CSI [documentation](https://kubernetes-csi.github.io/docs/) on the group snapshot feature.
48+
49+
## How do I get involved?
50+
51+
This project, like all of Kubernetes, is the result of hard work by many contributors
52+
from diverse backgrounds working together. On behalf of SIG Storage, I would like to
53+
offer a huge thank you to the contributors who stepped up these last few quarters
54+
to help the project reach beta:
55+
56+
* Ben Swartzlander ([bswartz](https://github.com/bswartz))
57+
* Hemant Kumar ([gnufied](https://github.com/gnufied))
58+
* Jan Šafránek ([jsafrane](https://github.com/jsafrane))
59+
* Madhu Rajanna ([Madhu-1](https://github.com/Madhu-1))
60+
* Michelle Au ([msau42](https://github.com/msau42))
61+
* Niels de Vos ([nixpanic](https://github.com/nixpanic))
62+
* Leonardo Cecchi ([leonardoce](https://github.com/leonardoce))
63+
* Saad Ali ([saad-ali](https://github.com/saad-ali))
64+
* Xing Yang ([xing-yang](https://github.com/xing-yang))
65+
* Yati Padia ([yati1998](https://github.com/yati1998))
66+
67+
For those interested in getting involved with the design and development of CSI or
68+
any part of the Kubernetes Storage system, join the
69+
[Kubernetes Storage Special Interest Group](https://github.com/kubernetes/community/tree/master/sig-storage) (SIG).
70+
We always welcome new contributors.
71+
72+
We also hold regular [Data Protection Working Group meetings](https://github.com/kubernetes/community/tree/master/wg-data-protection).
73+
New attendees are welcome to join our discussions.

0 commit comments

Comments
 (0)