Clone and migrate apps

Contributors netapp-mwallis netapp-dbagwell amgrissino

Clone an existing app to create a duplicate app on the same Kubernetes cluster or on another cluster. Cloning can help if you need to move applications and storage from one Kubernetes cluster to another. For example, you might want to move workloads through a CI/CD pipeline and across Kubernetes namespaces. You can use the Astra UI or the Astra Control API to clone and migrate apps.

Note If you deploy an app with a StorageClass explicitly set and you need to clone the app, the target cluster must have the originally specified StorageClass. Cloning an application with an explicitly set StorageClass to a cluster that does not have the same StorageClass will fail.
Note If you clone an operator-deployed instance of Jenkins CI, you need to manually restore the persistent data. This is a limitation of the app’s deployment model.
Note If you clone an app between clusters, the source and destination clusters must be the same distribution of OpenShift. For example, if you clone an app from an OpenShift 4.7 cluster, use a destination cluster that is also OpenShift 4.7.

When Astra Control Center clones an app, it creates a clone of your application configuration and persistent storage.

Note S3 buckets in Astra Control Center do not report available capacity. Before backing up or cloning apps managed by Astra Control Center, check bucket information in the ONTAP or StorageGRID management system.
Note

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

What you’ll need

To clone apps to a different cluster, you need a default bucket. When you add your first bucket, it becomes the default bucket.

Steps
  1. Select Applications.

  2. Do one of the following:

    • Select the drop-down list in the Actions column for the desired app.

    • Select the name of the desired app, and select the status drop-down list at the top right of the page.

  3. Select Clone.

  4. Clone details: Specify details for the clone:

    • Enter a name.

    • Enter a namespace for the clone.

    • Choose a destination cluster for the clone.

    • Choose whether you want to create the clone from an existing snapshot or backup. If you don’t select this option, Astra Control Center creates the clone from the app’s current state.

  5. Source: If you chose to clone from an existing snapshot or backup, choose the snapshot or backup that you’d like to use.

  6. Select Review.

  7. Clone Summary: Review the details about the clone and select Clone.

Result

Astra Control Center clones that app based on the information that you provided. The clone operation is successful when the new app clone is in the Available state on the Applications page.

Note After a data protection operation (clone, backup, restore) and subsequent persistent volume resize, there is up to a twenty-minute delay before the new volume size is shown in the 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.