Mobaxterm
ArticlesCategories
Technology

Kubernetes v1.36 Brings Volume Group Snapshots to General Availability

Published 2026-05-12 02:42:22 · Technology

Introduction

Kubernetes v1.36 marks a significant milestone for storage management: Volume Group Snapshots have officially reached General Availability (GA). First introduced as an alpha feature in v1.27, progressing to beta in v1.32, and reaching a second beta in v1.34, this feature now provides a stable, production-ready way to capture crash-consistent snapshots of multiple volumes simultaneously. Built exclusively for CSI volume drivers, it opens up new possibilities for data protection and workload recovery in multi-volume applications.

Kubernetes v1.36 Brings Volume Group Snapshots to General Availability

What Are Volume Group Snapshots?

Some storage systems support creating a point-in-time snapshot that is crash-consistent across multiple volumes. A volume group snapshot represents this capability in Kubernetes. It collects snapshots from several PersistentVolumeClaims (PVCs) taken at the exact same moment, ensuring write-order consistency. This is crucial for applications that span multiple volumes—for example, a database that stores data in one volume and transaction logs in another.

Internally, Kubernetes uses a label selector to identify which PVCs belong to a snapshot group. The group snapshot can then be used to either rehydrate new volumes (pre-populated with the snapshot data) or restore existing volumes to a previous state, providing a reliable recovery point.

Why Volume Group Snapshots Matter

The Kubernetes volume plugin ecosystem already offers robust automation for provisioning, attaching, resizing, and taking individual snapshots. However, until now, there was no native way to create a consistent snapshot across multiple volumes without manual coordination. The VolumeSnapshot API handles single-volume backups, but for multi-volume applications, taking separate snapshots at different times can lead to data inconsistency.

Consider an application with data and logs on separate volumes. If snapshots are taken at different moments, restoring from them could leave the application in an incoherent state. You could quiesce the application before taking sequential snapshots, but that process is time-consuming and sometimes impossible. Volume Group Snapshots eliminate this complexity by providing crash consistency across all volumes in the group without requiring application quiescence. This is a game-changer for:

  • Databases with separate data and log volumes
  • Content management systems storing uploads and metadata
  • Any stateful workload spread across multiple PVs

Kubernetes APIs for Volume Group Snapshots

The feature introduces three custom resource definitions that form the group snapshot API:

VolumeGroupSnapshot

This resource is created by a user (or automation) to request a group snapshot. It specifies a label selector to match targeted PVCs and can optionally reference an existing VolumeSnapshotClass for driver-specific parameters.

VolumeGroupSnapshotContent

Created by the snapshot controller in response to a VolumeGroupSnapshot, this resource represents the actual provisioned cluster resource—the group snapshot on the storage system. It binds to the requesting VolumeGroupSnapshot and carries details like the snapshot handle and driver information.

VolumeGroupSnapshotClass

Analogous to StorageClass or VolumeSnapshotClass, this resource defines the CSI driver name and configuration for the group snapshot operation. It allows administrators to specify deletion policies and other driver-specific settings.

For a deeper look into these APIs, see the Getting Started section below.

CSI Driver Support

Volume Group Snapshots are only supported for CSI volume drivers that implement the group snapshot capability. Check your storage vendor’s documentation to confirm compatibility. The feature relies on the CSI GroupSnapshot specification, which defines gRPC calls for creating and deleting group snapshots.

Getting Started with Volume Group Snapshots

To use this feature in Kubernetes v1.36+, follow these steps:

  1. Enable the feature gate – In v1.36, the feature gate VolumeGroupSnapshot is enabled by default.
  2. Install the snapshot controller and CRDs – Deploy the external-snapshotter components (v8.x or later) that include the group snapshot CRDs.
  3. Create a VolumeGroupSnapshotClass – Define a class that points to your CSI driver and specifies any required parameters.
  4. Create a VolumeGroupSnapshot – Use a label selector to target the PVCs you want to snapshot. Example YAML:
    apiVersion: groupsnapshot.storage.k8s.io/v1beta1
    kind: VolumeGroupSnapshot
    metadata:
      name: my-group-snapshot
    spec:
      source:
        selector:
          matchLabels:
            app: my-multi-volume-app
      volumeGroupSnapshotClassName: csi-group-snapclass
  5. Monitor the status – Once the VolumeGroupSnapshot is ready, you’ll see a readyToUse: true status.
  6. Restore – Use PersistentVolumeClaim definitions with dataSource pointing to the group snapshot (referencing individual snapshots within the group).

For more detailed examples, refer to the official Kubernetes documentation.

Conclusion

The promotion of Volume Group Snapshots to GA in Kubernetes v1.36 strengthens the platform’s storage capabilities, making it easier to protect complex, multi-volume applications. By providing crash consistency out of the box, this feature reduces operational overhead and improves recovery reliability. As the ecosystem of CSI drivers continues to adopt group snapshot support, we can expect even broader adoption of this critical data management primitive. Upgrade to v1.36 and start exploring how volume group snapshots can enhance your backup and disaster recovery strategies.