This is the documentation for the latest development version of Velero. Both code and docs may be unstable, and these docs are not guaranteed to be up to date or correct. See the latest version.
Using Schedules and Read-Only Backup Storage Locations
If you periodically back up your cluster’s resources, you are able to return to a previous state in case of some unexpected mishap, such as a service outage. Doing so with Velero looks like the following:
After you first run the Velero server on your cluster, set up a daily backup (replacing <SCHEDULE NAME>
in the command as desired):
velero schedule create <SCHEDULE NAME> --schedule "0 7 * * *"
This creates a Backup object with the name <SCHEDULE NAME>-<TIMESTAMP>
. The default backup retention period, expressed as TTL (time to live), is 30 days (720 hours); you can use the --ttl <DURATION>
flag to change this as necessary. See
how velero works for more information about backup expiry.
A disaster happens and you need to recreate your resources.
Update your backup storage location to read-only mode (this prevents backup objects from being created or deleted in the backup storage location during the restore process):
kubectl patch backupstoragelocation <STORAGE LOCATION NAME> \
--namespace velero \
--type merge \
--patch '{"spec":{"accessMode":"ReadOnly"}}'
Create a restore with your most recent Velero Backup:
velero restore create --from-backup <SCHEDULE NAME>-<TIMESTAMP>
When ready, revert your backup storage location to read-write mode:
kubectl patch backupstoragelocation <STORAGE LOCATION NAME> \
--namespace velero \
--type merge \
--patch '{"spec":{"accessMode":"ReadWrite"}}'
To help you get started, see the documentation.