Stay organized with collections
Save and categorize content based on your preferences.
This page describes how to create backup plans
for virtual machines (VMs) in Google Distributed Cloud (GDC) air-gapped.
Backup plans provide the configuration and location for backups. A backup plan
contains a backup configuration including the source VM and the selection of
which VM to back up. Backup plans define a regular schedule for which backups of
VMs occur. Every VM-based backup plan references the target VM or VM disk
resources to be backed up using a label selector defined in a
ProtectedApplication resource.
Before you begin
To create VM backup plans, you must have the following:
Organization Backup Admin: manages backup resources such as backup and
restore plans in user clusters. Ask your Organization IAM Admin to grant you
the Organization Backup Admin (organization-backup-admin) role. For more
information, see Role
definitions.
Create a backup plan for VMs
Create a backup plan using the GDC console or the API.
Console
Sign into the GDC console.
In the navigation menu, click Backup for Virtual Machines > Backup plans.
Click Create a backup plan.
In the Project field, select a project for which this backup plan is
available.
Enter the backup plan name and description.
In the Backup repo field, select a backup repository. Backup
repositories are a set of object storage implementations.
Click Create.
API
To plan your backups, create a VirtualMachineBackupPlanTemplate custom
resource. Here's an example of a VirtualMachineBackupPlanTemplate:
[[["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-29 UTC."],[[["\u003cp\u003eThis page guides users on creating backup plans for virtual machines (VMs) within Google Distributed Cloud (GDC) air-gapped environments.\u003c/p\u003e\n"],["\u003cp\u003eBackup plans specify the configuration and location for VM backups, defining the target VM or VM disks and the schedule for regular backups.\u003c/p\u003e\n"],["\u003cp\u003eCreating a backup plan requires an existing backup repository and the appropriate "Organization Backup Admin" role for managing backup resources.\u003c/p\u003e\n"],["\u003cp\u003eBackup plans can be created and viewed through either the GDC console, by navigating to the "Backup for Virtual Machines > Backup plans" section, or via the API using \u003ccode\u003ekubectl\u003c/code\u003e commands.\u003c/p\u003e\n"],["\u003cp\u003eThe \u003ccode\u003eVirtualMachineBackupPlanTemplate\u003c/code\u003e custom resource is used to define the backup plan through the API, requiring specification of the \u003ccode\u003ebackupRepository\u003c/code\u003e.\u003c/p\u003e\n"]]],[],null,["# Create a backup plan\n\nThis page describes how to create backup plans\nfor virtual machines (VMs) in Google Distributed Cloud (GDC) air-gapped.\n\nBackup plans provide the configuration and location for backups. A backup plan\ncontains a backup configuration including the source VM and the selection of\nwhich VM to back up. Backup plans define a regular schedule for which backups of\nVMs occur. Every VM-based backup plan references the target VM or VM disk\nresources to be backed up using a label selector defined in a\n`ProtectedApplication` resource.\n\nBefore you begin\n----------------\n\nTo create VM backup plans, you must have the following:\n\n- An existing backup repository. For more information, see [Create a backup repository](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/create-backup-repository).\n- The necessary identity and access role:\n\n - Organization Backup Admin: manages backup resources such as backup and restore plans in user clusters. Ask your Organization IAM Admin to grant you the Organization Backup Admin (`organization-backup-admin`) role. For more information, see [Role\n definitions](/distributed-cloud/hosted/docs/latest/gdch/platform/pa-user/iam/role-definitions).\n\nCreate a backup plan for VMs\n----------------------------\n\nCreate a backup plan using the GDC console or the API. \n\n### Console\n\n1. Sign into the GDC console.\n2. In the navigation menu, click **Backup for Virtual Machines \\\u003e Backup plans**.\n3. Click **Create a backup plan**.\n4. In the **Project** field, select a project for which this backup plan is available.\n5. Enter the backup plan name and description.\n6. In the **Backup repo** field, select a backup repository. Backup repositories are a set of object storage implementations.\n7. Click **Create**.\n\n### API\n\nTo plan your backups, create a `VirtualMachineBackupPlanTemplate` custom\nresource. Here's an example of a `VirtualMachineBackupPlanTemplate`: \n\n apiVersion: virtualmachines.gdc.goog/v1\n kind: VirtualMachineBackupPlanTemplate\n metadata:\n name: vmbpt-test\n spec:\n backupRepository: \"default\"\n\nThis example includes the following value:\n\n- `backupRepository`: The name of the repository created in the previous section.\n\nView a backup plan\n------------------\n\nView a backup plan using the GDC console or `kubectl`. \n\n### Console\n\nView a list of backup plans using the GDC console.\n\n1. Sign into the GDC console.\n2. In the navigation menu, click **Backup for Virtual Machines \\\u003e Backup plans**.\n3. Select a project.\n4. Click a backup plan in the list to view its details.\n\n### kubectl\n\nView a backup plan by listing the backup plans and viewing\ntheir details using `kubectl`.\n\n1. List the existing backup plans:\n\n kubectl get backupplans -n \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e\n\n2. In the list, find the backup plan that you want to view.\n\n3. View the backup plan details:\n\n kubectl describe backupplan \u003cvar translate=\"no\"\u003eBACKUP_PLAN_NAME\u003c/var\u003e -n \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e\n\n Replace the following:\n - \u003cvar translate=\"no\"\u003eBACKUP_PLAN_NAME\u003c/var\u003e: the name of the backup plan.\n - \u003cvar translate=\"no\"\u003ePROJECT_NAME\u003c/var\u003e: the name of the project.\n\nWhat's next\n-----------\n\n- [Back up VMs](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/back-up-vms)\n- [Back up disks](/distributed-cloud/hosted/docs/latest/gdch/platform-application/pa-ao-operations/vm-backup/back-up-disks)"]]