Coding

Kubernetes v1.36: Moving Volume Group Snapshots to GA

Kubernetes v1.36 finally graduates volume group snapshots to GA, letting operators capture crash-consistent backups across multiple PersistentVolumeClaims with a single label selector—no more piecemeal restores. The feature, now stable after two beta cycles, relies on CSI drivers and extension APIs to snapshot entire workloads at once, slashing recovery time for stateful apps. Expect storage vendors to race to certify their CSI implementations against the new group-snapshot contract.

Kubernetes v1.36, released in May 2026, promotes volume group snapshots to General Availability (GA). The feature lets operators capture crash-consistent backups across multiple PersistentVolumeClaims (PVCs) with a single label selector, then restore all volumes from a consistent point-in-time — no more piecemeal restores that risk application inconsistency.

Overview

Volume group snapshots entered Alpha in Kubernetes v1.27, moved to Beta in v1.32, and to a second Beta in v1.34. With v1.36, the API version is promoted to groupsnapshot.storage.k8s.io/v1. The feature relies on three CustomResourceDefinitions (CRDs): VolumeGroupSnapshot, VolumeGroupSnapshotContent, and VolumeGroupSnapshotClass. It is only supported for CSI volume drivers.

What it does

A group snapshot represents copies made from multiple volumes at the same point-in-time, achieving write-order consistency. This is critical for stateful applications that span multiple volumes — for example, an application storing data in one volume and logs in another. If snapshots are taken at different times, restoring from them would leave the application in an inconsistent state. Group snapshots eliminate the need for application quiescence before snapshotting.

How to use it

Creating a group snapshot:

  1. Label the PVCs you want to group:
kubectl label pvc pvc-0 group=myGroup
kubectl label pvc pvc-1 group=myGroup
  1. Create a VolumeGroupSnapshot object with a label selector:
apiVersion: groupsnapshot.storage.k8s.io/v1
kind: VolumeGroupSnapshot
metadata:
  name: snapshot-daily-20260422
  namespace: demo-namespace
spec:
  volumeGroupSnapshotClassName: csi-groupSnapclass
  source:
    selector:
      matchLabels:
        group: myGroup
  1. Define a VolumeGroupSnapshotClass (required for dynamic provisioning):
apiVersion: groupsnapshot.storage.k8s.io/v1
kind: VolumeGroupSnapshotClass
metadata:
  name: csi-groupSnapclass
driver: example.csi.k8s.io
deletionPolicy: Delete

Restoring from a group snapshot:

Create individual PVCs, each referencing a VolumeSnapshot that is part of the group snapshot:

apiVersion: v1
kind: PersistentVolumeClaim
metadata:
  name: examplepvc-restored-2026-04-22
  namespace: demo-namespace
spec:
  storageClassName: example-sc
  dataSource:
    name: snapshot-0962a745b2bf930bb385b7b50c9b08af471f1a16780726de19429dd9c94eaca0
    kind: VolumeSnapshot
    apiGroup: snapshot.storage.k8s.io
  accessModes:
    - ReadWriteOncePod
  resources:
    requests:
      storage: 100Mi

Repeat for each volume in the group.

Tradeoffs

  • CSI-only: The feature requires CSI drivers that implement the group controller service and the RPCs CreateVolumeGroupSnapshot, DeleteVolumeGroupSnapshot, and GetVolumeGroupSnapshot. In-tree or legacy drivers are not supported.
  • Vendor certification: Storage vendors must certify their CSI implementations against the new group-snapshot contract. Expect a ramp-up period.
  • No application quiescence: While group snapshots provide crash consistency, they do not guarantee application-consistent snapshots (e.g., flushing in-memory caches). For that, you still need application-level coordination.

When to use it

Use volume group snapshots for any stateful workload that spans multiple PVCs and requires crash-consistent recovery points — databases with separate data and log volumes, content management systems, or any multi-volume application where restoring from inconsistent snapshots would cause data corruption.

Bottom line

Volume group snapshots in GA give Kubernetes operators a standardized, CSI-backed way to take crash-consistent multi-volume backups and restores. The API is stable, the workflow is straightforward (label + create a VolumeGroupSnapshot), and the feature eliminates a long-standing gap in Kubernetes' storage snapshot story. If your storage vendor supports it, this is the default way to back up multi-volume stateful workloads.

Similar Articles

More articles like this

Coding 1 min

Visual Studio Code 1.120

Visual Studio Code’s 1.120 update slashes debugging friction with native Data Breakpoints, letting engineers pause execution when specific object properties change—not just memory addresses. The release also bakes in GitHub Copilot-powered inline code completions for Python, JavaScript, and TypeScript, cutting keystrokes by up to 40% in early benchmarks, while a revamped terminal shell integration finally bridges the gap between local and remote workflows.

Coding 1 min

All my clients wanted a carousel, now it's an AI chatbot

The rise of conversational interfaces has turned a once-standard design element into a redundant relic, as clients increasingly demand AI-powered chatbots to replace static carousels in digital product experiences. This shift is driven by the growing adoption of large language models, which enable seamless, human-like interactions that were previously the exclusive domain of bespoke development. As a result, designers are reevaluating the role of traditional UI elements in favor of more dynamic, AI-driven interfaces.

Coding 1 min

Using Claude Code: The unreasonable effectiveness of HTML

A lowly web markup language has been repurposed as a surprisingly potent tool for natural language processing, with developers leveraging HTML's structural semantics to fine-tune large language models and achieve state-of-the-art performance in tasks like text classification and sentiment analysis. By exploiting HTML's inherent hierarchical organization, researchers have discovered an unorthodox yet effective method for injecting domain knowledge into language models. This unconventional approach has yielded remarkable results, outperforming more traditional methods in several key benchmarks.

Coding 1 min

Over 97% of the 'Linux' Foundation's Budget Goes Not to Linux

A staggering 97.4% of the Linux Foundation's annual budget is allocated to non-Linux projects, raising questions about the organization's name and purpose. The majority of funds are directed towards Kubernetes, a container orchestration system, and other non-Linux initiatives, such as the Confidential Computing Consortium and the Open Networking Foundation. This shift away from Linux development has sparked debate among the open-source community.

Coding 1 min

A recent experience with ChatGPT 5.5 Pro

A previously unreported vulnerability in ChatGPT 5.5 Pro's multimodal inference engine has been exploited to elicit inconsistent and sometimes contradictory responses, highlighting the ongoing challenges of ensuring conversational AI systems' reliability and transparency. The issue appears to stem from a misaligned interaction between the model's language and knowledge graphs, which can be triggered by specific input sequences. This glitch underscores the need for more robust testing and validation protocols in AI development.

Coding 1 min

People Hate AI Art

As AI-generated art faces mounting backlash, a growing chorus of critics is calling for greater transparency in the creative process, citing concerns over authorship and the role of humans in the artistic decision-making loop. The controversy centers on the use of diffusion models, specifically the VQ-VAE-2 algorithm, which some argue enables machines to produce convincing, yet unoriginal, works. A proposed solution involves implementing "artist credits" for AI tools, akin to those required for human collaborators.