Velero is an open-source tool maintained under the VMware Tanzu umbrella that lets you safely back up, restore, and migrate Kubernetes cluster resources and persistent volumes to and from object storage. It matters because stateful Kubernetes workloads need point-in-time recovery, cluster migration paths, and disaster recovery runbooks β gaps that no native Kubernetes primitive fills. The key mental model: Velero treats object storage as the source of truth and continuously syncs backup CRDs from storage back into the cluster, which is what makes cross-cluster and cross-cloud restore patterns work.
What This Cheat Sheet Covers
This topic spans 19 focused tables and 152 indexed concepts. Below is a complete table-by-table outline of this topic, spanning foundational concepts through advanced details.
Table 1: Velero Architecture β Core Components
Velero runs in-cluster as a Deployment plus an optional DaemonSet, both working together with a set of Custom Resource Definitions that represent every backup and restore operation as Kubernetes objects.
| Component | Example | Description |
|---|---|---|
kubectl get deploy velero -n velero | β’ The central control-plane pod β’ hosts all backup/restore controllers, watches for CRD events, and orchestrates operations | |
velero install --use-node-agent | β’ Runs one pod per node β’ handles File System Backup (Kopia-based) and CSI Snapshot Data Movement via PodVolumeBackup/PodVolumeRestore controllers | |
Watches Backup CRDs, triggers API queries | Controller loop that validates Backup objects, queries the API server for matching resources, and uploads the tarball to object storage. | |
Watches Restore CRDs, applies resources | Fetches the backup tarball from object storage, pre-processes resources, and applies them to the target cluster one by one in dependency order. |