×

OpenShift API for Data Protection (OADP) features provide options for backing up and restoring applications.

The default plugins enable Velero to integrate with certain cloud providers and to back up and restore OKD resources.

OADP features

OpenShift API for Data Protection (OADP) supports the following features:

Backup

You can back up all resources in your cluster or you can filter the resources by type, namespace, or label.

OADP backs up Kubernetes objects and internal images by saving them as an archive file on object storage. OADP backs up persistent volumes (PVs) by creating snapshots with the native cloud snapshot API or with the Container Storage Interface (CSI). For cloud providers that do not support snapshots, OADP backs up resources and PV data with Restic.

Restore

You can restore resources and PVs from a backup. You can restore all objects in a backup or filter the restored objects by namespace, PV, or label.

Schedule

You can schedule backups at specified intervals.

Hooks

You can use hooks to run commands in a container on a pod, for example, fsfreeze to freeze a file system. You can configure a hook to run before or after a backup or restore. Restore hooks can run in an init container or in the application container.

OADP plugins

The OpenShift API for Data Protection (OADP) provides default Velero plugins that are integrated with storage providers to support backup and snapshot operations. You can create custom plugins based on the Velero plugins.

OADP also provides plugins for OKD resource backups and Container Storage Interface (CSI) snapshots.

Table 1. OADP plugins
OADP plugin Function Storage location

aws

Backs up and restores Kubernetes objects by using object store.

AWS S3

Backs up and restores volumes by using snapshots.

AWS EBS

azure

Backs up and restores Kubernetes objects by using object store.

Microsoft Azure Blob storage

Backs up and restores volumes by using snapshots.

Microsoft Azure Managed Disks

gcp

Backs up and restores Kubernetes objects by using object store.

Google Cloud Storage

Backs up and restores volumes by using snapshots.

Google Compute Engine Disks

openshift

Backs up and restores OKD resources by using object store. [1]

Object store

csi

Backs up and restores volumes by using CSI snapshots. [2]

Cloud storage that supports CSI snapshots

  1. Mandatory.

  2. The csi plugin uses the Velero CSI beta snapshot API.

About OADP Velero plugins

You can configure two types of plugins when you install Velero:

  • Default cloud provider plugins

  • Custom plugins

Both types of plugin are optional, but most users configure at least one cloud provider plugin.

Default Velero cloud provider plugins

You can install any of the following default Velero cloud provider plugins when you configure the oadp_v1alpha1_dpa.yaml file during deployment:

  • aws (Amazon Web Services)

  • gcp (Google Cloud Platform)

  • azure (Microsoft Azure)

  • openshift (OpenShift Velero plugin)

  • csi (Container Storage Interface)

  • kubevirt (KubeVirt)

You specify the desired default plugins in the oadp_v1alpha1_dpa.yaml file during deployment.

Example file

The following .yaml file installs the openshift, aws, azure, and gcp plugins:

 apiVersion: oadp.openshift.io/v1alpha1
 kind: DataProtectionApplication
 metadata:
   name: dpa-sample
 spec:
   configuration:
     velero:
       defaultPlugins:
       - openshift
       - aws
       - azure
       - gcp

Custom Velero plugins

You can install a custom Velero plugin by specifying the plugin image and name when you configure the oadp_v1alpha1_dpa.yaml file during deployment.

You specify the desired custom plugins in the oadp_v1alpha1_dpa.yaml file during deployment.

Example file

The following .yaml file installs the default openshift, azure, and gcp plugins and a custom plugin that has the name custom-plugin-example and the image quay.io/example-repo/custom-velero-plugin:

apiVersion: oadp.openshift.io/v1alpha1
kind: DataProtectionApplication
metadata:
 name: dpa-sample
spec:
 configuration:
   velero:
     defaultPlugins:
     - openshift
     - azure
     - gcp
     customPlugins:
     - name: custom-plugin-example
       image: quay.io/example-repo/custom-velero-plugin