Back Up, Restore and Migrate Kubernetes with Velero
Part of the Tanzu cloud native portfolio, VMware’s Velero is an open source project that provides backup, restore and migration capabilities for Kubernetes. Originally developed by Heptio and known as Ark, Velero is supported by Dell’s PowerProtect, allowing PowerProtect users to back up their Kubernetes clusters.
In this The New Stack Makers podcast interview, recorded at KubeCon+CloudNativeCon North America 2019, we discussed Velero with Carlisia Campos, a maintainer for Velero and member of the VMware technical staff; Tom Spoonemore, VMware’s cloud native apps director; and Efri Nattel-Shay, director of product management at Dell.
Velero is a command-line tool that backs up clusters and restores them in case of loss, migrates cluster resources to other clusters, and replicates a production cluster to development and testing clusters. It consists of a server that runs on a cluster and the command-line client that runs locally. A recent Kubernauts post about Velero stated it well:
“[Velero] takes snapshots of your cluster’s Persistent Volumes using your cloud provider’s block storage snapshot features, and can then restore your cluster’s objects and Persistent Volumes to a previous state.”
The technology was built in Go. Velero has a Go client SDK that integrates with the Kubernetes API, using plugins to provide capabilities for syncing across multiple cloud environments.
“We have a system of syncing,” said Campos. “Once you create a backup, it is continually syncing. So whenever you want to restore, your backups are up to date.”
The Velero community has about 3,300 stars on GitHub, owing in part to the ability to provide immediate backup, adding a degree of safety and the ability to restore Kubernetes clusters.
Velero Use Cases
Through its plug-in capability, Velero is a foundation technology for backing up Kubernetes environments, both in the cloud and on-premises. Customers don’t want to be locked in, said Spoonemore. “They use Velero to migrate from one cloud provider to another cloud provider.” Velero’s extensibility allows the Power Platform to use plugins that can work in AWS, Google, Digital Ocean and Portworx, to name a few.
Velero is suited for disaster recovery use cases, as well as for snapshotting application state, prior to performing system operations on a cluster. Velero backs up the pods and the clusters but also the data in the persistent volumes. Backups can be done selectively: A big cluster can be backed up, for example, by namespace and/or label. PowerProtect software uses Velero and puts it into a single stack. VMware’s Tanzu Mission Control is used to manage across a fleet of clusters. It integrates Velero across Tanzu for backup, restoration and migration of Kubernetes clusters. It allows for data protection and leverages Velero to back up K8s resources.