Back to all scenarios
Scenario #321
Storage
Kubernetes v1.25, CSI Snapshotter with Velero
Volume Snapshot Garbage Collection Fails
Volume snapshots piled up because snapshot objects were not getting garbage collected after use.
Find this helpful?
What Happened
Snapshots triggered via Velero remained in the cluster even after restore, eventually exhausting cloud snapshot limits and storage quota.
Diagnosis Steps
- 1Listed all VolumeSnapshots and VolumeSnapshotContents — saw hundreds still in ReadyToUse: true state.
- 2Checked finalizers on snapshot objects — found snapshot.storage.kubernetes.io/volumesnapshot not removed.
- 3Velero logs showed successful restore but no cleanup action.
Root Cause
Snapshot GC controller didn’t remove finalizers due to missing permissions in Velero's service account.
Fix/Workaround
• Added required RBAC rules to Velero.
• Manually deleted stale snapshot objects.
Lessons Learned
Improperly configured snapshot permissions can stall GC.
How to Avoid
- 1Always test snapshot and restore flows end-to-end.
- 2Enable automated cleanup in your backup tooling.