We recently announced that Heptio Ark has been renamed to Velero. We’re excited to bring you Velero version 0.11, our first release using the new name. This release also includes performance and usability improvements that put Kubernetes backups and restores on a fast path.
Velero is an open source tool to safely back up, recover, and migrate Kubernetes clusters and persistent volumes. It works both on premises and in a public cloud. Velero consists of a server process running as a deployment in your Kubernetes cluster and a command-line interface (CLI) with which DevOps teams and platform operators configure scheduled backups, trigger ad-hoc backups, perform restores, and more.
Since version 0.11 is the first release of Velero with the new name, there are several important changes to be aware of:
- The command-line interface name is now velero
- The default namespace for installations is now velero
- The API group for our custom resource definitions is now velero.io
- Other related Kubernetes objects, including the deployment, service account, and cluster role binding, are all now named velero
We’ve provided a detailed set of instructions for migrating to Velero v0.11, so your upgrade process should be smooth sailing.
Performance and Usability Enhancements
Additionally, v0.11 brings a handful of performance and usability improvements to the tool:
- We’ve upgraded to restic v0.9.4. Restic is an open source tool for doing file-level backups which is integrated with Velero to provide a general-purpose volume backup mechanism. This version of restic brings major performance improvements for restores by implementing a multithreaded restoration process. We’ve also switched to using
`restic stats`to check for restic repository existence, which is significantly faster in certain scenarios.
- Restores now wait for terminating persistent volumes, persistent volume claims, and namespaces to fully delete before attempting to restore them. Previously, these resources would not be restored if they were still terminating.
`velero version`now displays both the client and server versions to aid in troubleshooting.
What Makes Velero Stand Out?
Unlike other tools which directly access the Kubernetes etcd database to perform backups and restores, Velero uses the Kubernetes API to capture the state of cluster resources and to restore them when necessary. This API-driven approach has a number of key benefits:
- Backups can capture subsets of the cluster’s resources, filtering by namespace, resource type, and/or label selector, providing a high degree of flexibility around what’s backed up and restored.
- Users of managed Kubernetes offerings often do not have access to the underlying etcd database, so direct backups/restores of it are not possible.
- Resources exposed through aggregated API servers can easily be backed up and restored even if they’re stored in a separate etcd database.
Additionally, Velero enables you to back up and restore your applications’ persistent data alongside their configurations, using either your storage platform’s native snapshot capability or an integrated file-level backup tool called restic.
Hats Off to the Community!
Since Velero was initially released in August 2017, we’ve had nearly 70 contributors to the project, with a ton of support from the community. We also recently reached 2000 stars on GitHub. We are excited to keep building our great community and project. We’re immensely grateful for all of the community contributions that help make Velero even better! For v0.11, special thanks go out to:
Join the Community
We are continuing to work towards Velero 1.0 and would love your help working on the items in our roadmap. If you’re interested in contributing, we have a number of GitHub issues labeled as Good First Issue and Help Wanted, including items related to Prometheus metrics, the CLI UX, improved documentation, and more. We are more than happy to work with new and existing contributors alike.