Restoring Google Kubernetes Engine applications

HYCU for Google Cloud enables you to restore a whole application or only individual application items to a specific point in time.

Prerequisites

Only if you plan to specify post-restore scripts.

  • The script must be located in a bucket to which the HMSA has access.
  • The #!/usr/bin/env python3 header must be specified in the script.
  • The following line of code must be present in the script:

    os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/tmp/hycu/serviceAccount.json'

Limitations

  • Using the Restore Storage option is not supported for applications not using persistent volumes.

  • Only if you plan to specify post-restore scripts.

    • Only Python scripts are supported.
    • For making API calls, you can use only the following Python libraries:

      • googleapiclient for Google Cloud API calls.
      • kubernetes for Kubernetes API calls.

Depending on how you want to restore data, do one of the following:

I want to... Restore option Instructions
Restore application storage together with all resource objects that are associated with the application to the original or a different location. Restore Whole Application “Restoring a whole application”
Restore application storage to the original or a different location. Restore Storage “Restoring storage”
Restore specific resource objects to the original or a different location. Restore Resource Objects “Restoring resource objects”

Restoring a whole application

You can restore a whole application to its original or a different location by restoring application storage together with all resource objects that are associated with the application.

Procedure

  1. In the Applications panel, click the application that you want to restore to open the Details section.

    n Note  The Details section appears only if you click an application. Selecting the check box before the name of the application will not open the Details section.

  2. In the Details section that appears at the bottom of the screen, select the desired restore point, and then click Restore. The Restore Kubernetes Application dialog box opens.
  3. Select Restore Whole Application, and then click Next.
  4. From the Restore from drop-down menu, select which tier you want to use for the restore. Your restore point can contain one or more tiers among which you can select:

    • Automatic: This option ensures the fastest and most cost-effective restore.
    • Backup (Snapshot)
    • Backup (Target)
    • Copy
    • Archive—(daily, weekly, monthly, yearly)
  5. From the Target cluster drop-down menu, select the cluster to which you want to restore the application. You can select only among the clusters that are in the same region as the application. By default, the original cluster of the application is selected.
  6. From the Target namespace drop-down menu, select the namespace to which you want to restore the application. The original namespace of the application is preselected.
  7. Use the Keep original configuration switch if you want to keep the existing resource object configuration. If you disable the switch, the resource object configuration will be overwritten (including persistent volumes).
  8. Optional. In the Post-restore script field, enter the path to the script that HYCU for Google Cloud should run after the restore.

    i Important  When entering the path to the script, make sure to enter it correctly, including lowercase and uppercase letters, as the path is case sensitive. You must specify the path in the following format:

    gs://<PathtoBucket>/script.py parameter1 parameter2 ...

    Example  The following is an example of the first lines of a post-restore script:

    #!/usr/bin/env python3
    import os

    os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/tmp/hycu/serviceAccount.json'
  9. Click Restore.

Restoring storage

You can restore data that was stored on one or more disks at backup time to the same or a different location by restoring one or more persistent volume claims.

i Important  You cannot restore an application by restoring its storage. For instructions on how to restore a whole application, see “Restoring a whole application”.

Procedure

  1. In the Applications panel, click the application whose storage you want to restore to open the Details section.

    n Note  The Details section appears only if you click an application. Selecting the check box before the name of the application will not open the Details section.

  2. In the Details section that appears at the bottom of the screen, select the desired restore point, and then click Restore. The Restore Kubernetes Application dialog box opens.
  3. Select Restore Storage, and then click Next.
  4. From the Restore from drop-down menu, select which tier you want to use for the restore. Your restore point can contain one or more tiers among which you can select:

    • Automatic: This option ensures the fastest and most cost-effective restore.
    • Backup (Snapshot)
    • Backup (Target)
    • Copy
    • Archive—(daily, weekly, monthly, yearly)
  5. From the Target cluster drop-down menu, select the cluster to which you want to restore storage. You can select only among the clusters that are in the same region as the application. By default, the original cluster of the application is selected.
  6. From the Target namespace drop-down menu, select the namespace to which you want to restore storage. The original namespace of the application is preselected.
  7. Optional. In the Post-restore script field, enter the path to the script that HYCU for Google Cloud should run after the restore.

    i Important  When entering the path to the script, make sure to enter it correctly, including lowercase and uppercase letters, as the path is case sensitive. You must specify the path in the following format:

    gs://<PathtoBucket>/script.py parameter1 parameter2 ...

    Example  The following is an example of the first lines of a post-restore script:

    #!/usr/bin/env python3
    import os

    os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/tmp/hycu/serviceAccount.json'
  8. Select the persistent volume claims that you want to restore.

    t Tip  Select the All disks check box to restore all persistent volume claims.

  9. Use the Keep original volumes switch if you want to keep the original persistent volumes. If you disable the switch, the original volumes will be overwritten by the restored ones.
  10. Click Restore.

Restoring resource objects

You can restore specific resource objects to their original or a different location.

C Caution  Restoring resource objects must be performed in the correct order, taking into account the dependencies among different resource objects.

Procedure

  1. In the Applications panel, click the application whose resource objects you want to restore to open the Details section.

    n Note  The Details section appears only if you click an application. Selecting the check box before the name of the application will not open the Details section.

  2. In the Details section that appears at the bottom of the screen, select the desired restore point, and then click Restore. The Restore Kubernetes Application dialog box opens.
  3. Select Restore Resource Objects, and then click Next.
  4. From the Restore from drop-down menu, select which tier you want to use for the restore. Your restore point can contain one or more tiers among which you can select:

    • Automatic: This option ensures the fastest and most cost-effective restore.
    • Backup (Snapshot)
    • Backup (Target)
    • Copy
    • Archive—(daily, weekly, monthly, yearly)
  5. From the Target cluster drop-down menu, select the cluster to which you want to restore resource objects. The original cluster of the application is preselected.
  6. Optional. In the Post-restore script field, enter the path to the script that HYCU for Google Cloud should run after the restore.

    i Important  When entering the path to the script, make sure to enter it correctly, including lowercase and uppercase letters, as the path is case sensitive. You must specify the path in the following format:

    gs://<PathtoBucket>/script.py parameter1 parameter2 ...

    Example  The following is an example of the first lines of a post-restore script:

    #!/usr/bin/env python3
    import os

    os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/tmp/hycu/serviceAccount.json'
  7. Click Next.
  8. From the list of available resource objects, select the ones that you want to restore.

  9. Click Restore.