Velero
By VMware / the Velero open-source project
Velero is an open-source tool for backing up, restoring, and migrating Kubernetes cluster resources and their associated persistent volumes. It runs inside a cluster, captures the state of chosen Kubernetes objects and volume snapshots,…
Definition
Velero is an open-source tool for backing up, restoring, and migrating Kubernetes cluster resources and their associated persistent volumes. It runs inside a cluster, captures the state of chosen Kubernetes objects and volume snapshots, and stores that backup in object storage such as an S3-compatible bucket, so a cluster can be restored after an outage or migrated to a different environment. Platform and DevOps teams use it as the standard disaster-recovery and migration mechanism for Kubernetes-native workloads.
Overview
Velero addresses a gap that Kubernetes itself does not solve: the platform tracks the desired state of resources declaratively, but it has no built-in mechanism to snapshot that state and the data behind persistent volumes for recovery after accidental deletion, cluster failure, or a planned migration. Velero closes that gap by treating cluster backup as a first-class operation rather than something bolted on through ad hoc scripts. Mechanically, Velero runs as a server component inside the cluster and pairs with a CLI that operators use to trigger backups, schedule recurring ones, or initiate restores. A backup captures the Kubernetes API objects that match a selector, such as all resources in a namespace, and coordinates with the storage layer through volume snapshot plugins to capture the state of any persistent volumes those resources reference. The resulting backup data, including object manifests and volume snapshot metadata, is uploaded to an object storage bucket that can live in a different cloud or on-premises location than the source cluster. Velero differs from lower-level backup tools like Restic or Borgbackup in that it operates at the Kubernetes resource level rather than the filesystem level; in fact, Velero can use Restic internally as a fallback backup method for volumes whose storage provider lacks native snapshot support. It also differs from storage platforms such as Portworx or Ceph, which provide the storage and replication layer itself, whereas Velero is a backup and migration orchestrator that sits above whatever storage layer is in use. In practice, teams schedule Velero backups on a recurring basis to protect against accidental namespace deletion or cluster-wide failure, and use one-off backups before risky cluster upgrades. It is also a common vehicle for migrating workloads between clusters, including across cloud providers, by backing up from a source cluster and restoring into a destination cluster with different underlying infrastructure. Limitations include reliance on the target storage provider supporting Velero's snapshot plugins for efficient volume backup, and the fact that Velero backs up Kubernetes-managed state rather than application-level data consistency guarantees, so databases still typically need application-aware backup procedures layered on top. Very small clusters or teams without a disaster-recovery requirement may find manual manifest version control sufficient without adopting Velero. Operationally, Velero requires ongoing attention to backup schedules, retention policies, and validating that restores actually work, since an untested backup strategy provides false confidence rather than real recovery capability. Teams running Velero in production commonly run periodic restore drills into a scratch cluster to confirm that backups are complete and restorable, treating the tool as one part of a broader disaster-recovery practice rather than a install-and-forget safeguard.
Key Features
- Backs up Kubernetes API objects and persistent volume data together
- Stores backups in S3-compatible or other object storage
- Supports scheduled, recurring backups on a cron-like basis
- Restores full namespaces or clusters to a previous state
- Enables cross-cluster and cross-cloud workload migration
- Falls back to Restic for volumes without native snapshot support
- Provides selective backup and restore by namespace or label
- Runs as an in-cluster server paired with a CLI and API