Documentation

Disaster recovery

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:

  1. 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>.

  2. A disaster happens and you need to recreate your resources.

  3. 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"}}'
    
  4. Create a restore with your most recent Velero Backup:

    velero restore create --from-backup <SCHEDULE NAME>-<TIMESTAMP>
    
  5. 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"}}'
    ```
Getting Started

To help you get started, see the documentation.