$ oc get backupStorageLocations -n openshift-adp
You back up Kubernetes images, internal images, and persistent volumes (PVs) by creating a Backup
custom resource (CR).
You must install the OpenShift API for Data Protection (OADP) Operator.
The DataProtectionApplication
CR must be in a Ready
state.
Backup location prerequisites:
You must have S3 object storage configured for Velero.
You must have a backup location configured in the DataProtectionApplication
CR.
Snapshot location prerequisites:
Your cloud provider must have a native snapshot API or support Container Storage Interface (CSI) snapshots.
For CSI snapshots, you must create a VolumeSnapshotClass
CR to register the CSI driver.
You must have a volume location configured in the DataProtectionApplication
CR.
Retrieve the backupStorageLocations
CRs by entering the following command:
$ oc get backupStorageLocations -n openshift-adp
NAMESPACE NAME PHASE LAST VALIDATED AGE DEFAULT
openshift-adp velero-sample-1 Available 11s 31m
Create a Backup
CR, as in the following example:
apiVersion: velero.io/v1
kind: Backup
metadata:
name: <backup>
labels:
velero.io/storage-location: default
namespace: openshift-adp
spec:
hooks: {}
includedNamespaces:
- <namespace> (1)
includedResources: [] (2)
excludedResources: [] (3)
storageLocation: <velero-sample-1> (4)
ttl: 720h0m0s (5)
labelSelector: (6)
matchLabels:
app: <label_1>
app: <label_2>
app: <label_3>
orLabelSelectors: (7)
- matchLabels:
app: <label_1>
app: <label_2>
app: <label_3>
1 | Specify an array of namespaces to back up. |
2 | Optional: Specify an array of resources to include in the backup. Resources might be shortcuts (for example, 'po' for 'pods') or fully-qualified. If unspecified, all resources are included. |
3 | Optional: Specify an array of resources to exclude from the backup. Resources might be shortcuts (for example, 'po' for 'pods') or fully-qualified. |
4 | Specify the name of the backupStorageLocations CR. |
5 | The ttl field defines the retention time of the created backup and the backed up data. For example, if you are using Restic as the backup tool, the backed up data items and data contents of the persistent volumes (PVs) are stored until the backup expires. But storing this data consumes more space in the target backup locations. An additional storage is consumed with frequent backups, which are created even before other unexpired completed backups might have timed out. |
6 | Map of {key,value} pairs of backup resources that have all the specified labels. |
7 | Map of {key,value} pairs of backup resources that have one or more of the specified labels. |
Verify that the status of the Backup
CR is Completed
:
$ oc get backup -n openshift-adp <backup> -o jsonpath='{.status.phase}'