VMware Velero v1.4 Release Supported by Pure Service OrchestratorVMware recently released Velero v1.4 with features supporting CSI snapshotter APIs which are also supported by the Pure Storage® Pure Service Orchestrator (PSO).

This post is a sneak peek into the integration of PSO with Velero and will show you how to back up a Kubernetes application that has persistent storage present on a PSO-managed FlashArray to a FlashBlade®.

Let’s examine what your environment needs to look like to get the most out of your PSO and Velero integration.

First, you’ll need a Kubernetes cluster of v1.17.4 or higher where the snapshotter API v1beta1 is implemented. You’ll also need a version of PSO that fully supports this API version. 

Here’s where the sneak peek comes in: You’ll need to wait for PSO 6.0 to ship before implementing this integration. (It’ll be out in the coming weeks.) In the examples below, I’m using PSO 6.0.0-rc2.

From an infrastructure perspective, I’m using a single FlashArray managed by PSO and have a standalone FlashBlade that will serve as a Velero backup location.

Before we get into the details of Velero, we need to set up our FlashBlade as a storage location for the Velero backups. This location holds only the backup of the application and metadata. The persistent volume backups are kept on the underlying FlashArray storage, utilising the CSI snapshot APIs.

All you need on the FlashBlade is an object bucket and the appropriate access key and secret—you’ll need this information to configure the Velero credentials.

Next, you’ll need to create an account, user, and bucket on a FlashBlade that exposes the access key and secret. Use the following simple Ansible playbook, and change the account, user, and bucket names to your preferred values.

Use your user access details to create a credentials file on the node where you’re going to install Velero. I’ve created a file called velero-credentials.txt:

Notice that an aws_region is specified even though we’re using a FlashBlade as the target for the backups. At the moment, Velero requires this parameter even if you’re not using AWS, so just populate it with any region name.

Installing Velero CLI is incredibly simple. Just get the latest Velero release tarball, extract this, and move the velero binary to somewhere in your $PATH, for example /usr/local/bin.

Now that you have the Velero binary, you can install Velero and configure it to use the PSO CSI driver to manage the persistent volume snapshots and to use the FlashBlade as the target device for the backup objects.

The command is a little long, but worth it…

Notice that some of these parameters seem a little AWS-S3 related—that’s just a feature of the way Velero implements.

It’ll take a short time to initialize, but once complete, you can check to make sure there are no errors by running kubectl logs deployment/velero -n velero.

All complete. Now check out this video to see how to perform backups and restores.

I hope you enjoyed this blog post and video. 

Expect to see more backup integrations between PSO and Velero and other Kubernetes DR-solution providers in the future. And keep an eye out for the latest PSO release—coming soon.