Specify resource restore ordering during restoration
Stay organized with collections
Save and categorize content based on your preferences.
Autopilot
Standard
This page describes how to specify the order in which Backup for GKE
should restore different GroupKinds during a restore operation.
Overview
By default, Backup for GKE restores well-known GroupKinds in an order that
fulfills dependency requirements among resources. However, if there are additional
resources that need restoring in a specific order, you can use the restore ordering
feature to specify the required order by defining dependencies between the affected
resources.
During a restore plan create or update operation, you can specify a list of
custom GroupKind dependencies. To represent a dependency between two custom
resources, specify the following two GroupKinds:
Satisfying GroupKind: this GroupKind satisfies the dependencies and must
be restored before the requiring GroupKind. In the Google Cloud console,
this GroupKind is termed as the First API group and First object kind fields.
Requiring GroupKind: this GroupKind depends on the satisfying GroupKind
to be restored first. In the Google Cloud console, this GroupKind is termed
as the Second API group and Second object kind fields.
Backup for GKE takes a list of custom dependencies and the
default dependencies and combines them to generate a GroupKind restore order.
Default dependencies
The following table lists the default pairing dependencies between satisfying
and requiring GroundKind resources. When defining a restoring order,
Backup for GKE restores all satisfying GroundKinds before Requiring GroupKinds.
For example, Backup for GKE always restores all storage.k8s.io/StorageClass
before PersistentVolumeClaims.
The default restore ordering also handles basic cases, such as restoring
namespaces before all namespaced resources and restoring CustomResourceDefinitions
before any CustomResources.
Use the following instructions to add custom GroupKind dependencies to a restore plan.
Refer to the list of default dependencies for all GroupKind dependencies
that are already handled by Backup for GKE and don't need to be specified.
gcloud
Create a YAML file to define restore order. You can use the following YAML example.
The following example indicates that stable.example.com/First must be
restored before stable.example.com/Second and that stable.example.com/Second
must be restored before stable.example.com/Third.
In the Item 1 section, enter First API group 1 and First object kind 1
followed by Second API group 2 and Second object kind 2 the order
in which the resources to be restored.
[[["Easy to understand","easyToUnderstand","thumb-up"],["Solved my problem","solvedMyProblem","thumb-up"],["Other","otherUp","thumb-up"]],[["Hard to understand","hardToUnderstand","thumb-down"],["Incorrect information or sample code","incorrectInformationOrSampleCode","thumb-down"],["Missing the information/samples I need","missingTheInformationSamplesINeed","thumb-down"],["Other","otherDown","thumb-down"]],["Last updated 2025-08-28 UTC."],[],[],null,["# Specify resource restore ordering during restoration\n\nAutopilot Standard\n\n*** ** * ** ***\n\nThis page describes how to specify the order in which Backup for GKE\nshould restore different GroupKinds during a restore operation.\n\nOverview\n--------\n\nBy default, Backup for GKE restores well-known GroupKinds in an order that\nfulfills dependency requirements among resources. However, if there are additional\nresources that need restoring in a specific order, you can use the restore ordering\nfeature to specify the required order by defining dependencies between the affected\nresources.\n\nDuring a restore plan create or update operation, you can specify a list of\ncustom GroupKind dependencies. To represent a dependency between two custom\nresources, specify the following two GroupKinds:\n\n- Satisfying GroupKind: this GroupKind satisfies the dependencies and must be restored before the requiring GroupKind. In the Google Cloud console, this GroupKind is termed as the **First API group** and **First object kind** fields.\n- Requiring GroupKind: this GroupKind depends on the satisfying GroupKind to be restored first. In the Google Cloud console, this GroupKind is termed as the **Second API group** and **Second object kind** fields.\n\nBackup for GKE takes a list of custom dependencies and the\n[default dependencies](#default) and combines them to generate a GroupKind restore order.\n\nDefault dependencies\n--------------------\n\nThe following table lists the default pairing dependencies between satisfying\nand requiring GroundKind resources. When defining a restoring order,\nBackup for GKE restores all satisfying GroundKinds before Requiring GroupKinds.\nFor example, Backup for GKE always restores all `storage.k8s.io/StorageClass`\nbefore `PersistentVolumeClaims`.\n\nThe default restore ordering also handles basic cases, such as restoring\nnamespaces before all namespaced resources and restoring `CustomResourceDefinitions`\nbefore any `CustomResources`.\n\nDefine resource restore ordering\n--------------------------------\n\nUse the following instructions to add custom GroupKind dependencies to a restore plan.\nRefer to the list of [default dependencies](#default) for all GroupKind dependencies\nthat are already handled by Backup for GKE and don't need to be specified. \n\n### gcloud\n\n1. Create a YAML file to define restore order. You can use the following YAML example.\n\n The following example indicates that `stable.example.com/First` must be\n restored before `stable.example.com/Second` and that `stable.example.com/Second`\n must be restored before `stable.example.com/Third`. \n\n restoreOrder:\n groupKindDependencies:\n - satisfying:\n resourceGroup: stable.example.com\n resourceKind: First\n requiring:\n resourceGroup: stable.example.com\n resourceKind: Second\n - satisfying:\n resourceGroup: stable.example.com\n resourceKind: Second\n requiring:\n resourceGroup: stable.example.com\n resourceKind: Third\n\n2. Define a restore order using the restore order file you created.\n\n gcloud beta container backup-restore restore-plans update \u003cvar translate=\"no\"\u003eRESTORE_PLAN\u003c/var\u003e \\\n --project=\u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e \\\n --location=\u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e \\\n --restore_order_file=\u003cvar translate=\"no\"\u003eRESTORE_ORDER_FILE\u003c/var\u003e\n\n Replace the following:\n\n- \u003cvar translate=\"no\"\u003eRESTORE_PLAN\u003c/var\u003e: the name of the restore plan that you want to update.\n- \u003cvar translate=\"no\"\u003ePROJECT_ID\u003c/var\u003e: the ID of your Google Cloud project.\n- \u003cvar translate=\"no\"\u003eLOCATION\u003c/var\u003e: the compute region of the parent restore plan.\n- \u003cvar translate=\"no\"\u003eRESTORE_ORDER_FILE\u003c/var\u003e: the path to the YAML file containing the GroupKind dependencies, as shown in the earlier example.\n\n### Console\n\nUse the following instructions to add order to an existing restore plan in the Google Cloud console:\n\n1. In the Google Cloud console, go to the **Google Kubernetes Engine** page.\n\n [Go to Google Kubernetes Engine](https://console.cloud.google.com/kubernetes/list)\n2. In the navigation menu, click **Backup for GKE**.\n\n3. Click the **Restore plans** tab.\n\n4. Click the restore plan name.\n\n5. Click the **Details** tab.\n\n6. Click **Edit** that is next to the **Restore order**.\n\n7. Click **Add order set**.\n\n8. In the Item 1 section, enter **First API group 1** and **First object kind 1**\n followed by **Second API group 2** and **Second object kind 2** the order\n in which the resources to be restored.\n\n9. Click **Save changes**.\n\nWhat's next\n-----------\n\n- Learn more about [restoring a backup](/kubernetes-engine/docs/add-on/backup-for-gke/how-to/restore)."]]