Restore apps

Contributors netapp-dbagwell netapp-mwallis cburchett

Astra Control can restore your application from a snapshot or backup. Restoring from an existing snapshot will be faster when restoring the application to the same cluster. You can use the Astra Control UI or the Astra Control API to restore apps.

About this task
  • Protect your apps first: It is strongly recommended to take a snapshot of or back up your application before restoring it. This will enable you to clone from the snapshot or backup in the event that the restore is unsuccessful.

  • Check destination volumes: If you restore to a different cluster, ensure that the cluster is using the same persistent volume access mode (for example, ReadWriteMany). The restore operation will fail if the destination persistent volume access mode is different.

  • (Openshift clusters only) Add policies: When you create a project for hosting an app on an OpenShift cluster, the project (or Kubernetes namespace) is assigned a SecurityContext UID. To enable Astra Control Center to protect your app and move the app to another cluster or project in OpenShift, you need to add policies that enable the app to run as any UID. As an example, the following OpenShift CLI commands grant the appropriate policies to a WordPress app.

    oc new-project wordpress
    oc adm policy add-scc-to-group anyuid system:serviceaccounts:wordpress
    oc adm policy add-scc-to-user privileged -z default -n wordpress

  • Helm deployed apps: Cloning apps deployed with Helm 3 (or upgraded from Helm 2 to Helm 3) is fully supported. Apps deployed with Helm 2 are not supported.

Steps
  1. Select Applications and then select the name of an app.

  2. Select Data protection.

  3. If you want to restore from a snapshot, keep the Snapshots icon selected. Otherwise, select the Backups icon to restore from a backup.

  4. From the Options menu in the Actions column for the snapshot or backup from which you want to restore, select Restore application.

  5. Choose the restore type:

    • Restore to original namespaces: Use this procedure to restore the app in-place to the original cluster.

      Caution Performing an in-place restore operation on an app that shares resources with another app can have unintended results.
      1. Select the snapshot to use to restore the app in-place, which reverts the app to an earlier version of itself.

      2. Select Next.

        Note If you restore to a namespace that was previously deleted, a new namespace with the same name is created as part of the restore process. Any users that had rights to manage apps in the previously deleted namespace need to manually restore rights to the newly re-created namespace.
      3. Review details about the restore action, type "restore", and select Restore.

    • Restore to new namespaces: Use this procedure to restore the app to another cluster or with different namespaces from the source.

      1. Choose the destination cluster for the app you intend to restore.

      2. Enter a destination namespace for each source namespace associated with the app.

        Note Astra Control creates new destination namespaces as part of this restore option. Destination namespaces that you specify must not be already present on the destination cluster.
      3. Select Next.

      4. Select the snapshot to use to restore the app.

      5. Select Next.

      6. Review details about the restore action and select Restore.

Result

Astra Control restores the app based on the information that you provided. If you restored the app in-place, the content of existing persistent volumes is replaced with the content of persistent volumes from the restored app.

Note After a data protection operation (clone, backup, or restore) and subsequent persistent volume resize, there is a delay of up to twenty minutes before the new volume size is shown in the web UI. The data protection operation is successful within minutes, and you can use the management software for the storage backend to confirm the change in volume size.
Important Any member user with namespace constraints by namespace name/ID or by namespace labels can clone or restore an app to a new namespace on the same cluster or to any other cluster in their organization’s account. However, the same user cannot access the cloned or restored app in the new namespace. After a new namespace is created by a clone or restore operation, the account admin/owner can edit the member user account and update role constraints for the affected user to grant access to the new namespace.