规划一组备份

本文档介绍了如何在 Google Distributed Cloud (GDC) 网闸隔离配置中为集群工作负载创建和管理备份方案。

备份方案为一系列备份提供配置、位置和管理功能。备份方案包含备份配置,此配置涉及源集群和选择要备份的工作负载。Google 建议为每个集群提供至少一个备份方案。

您可以为每个集群创建一个或多个备份方案。您可能出于以下某种原因需要对集群的备份进行分区:

  • 您可能希望制作分散在一天时间中的多个较小备份,而不是在一天中的一个时间点制作非常大的备份。
  • 您希望更频繁地备份集群的某些部分,其余部分则不(例如,每天备份某一些命名空间,每小时备份其他命名空间)。

单个集群或虚拟机 (VM) 可以属于一个或多个备份方案。一个备份方案不能跨多个集群;但是,如果多个虚拟机存在于同一集群中,则单个备份方案可以捕获这些虚拟机。所有备份和恢复资源都必须与项目名称相关联。

本文档适用于管理集群备份操作的平台管理员或应用运维人员群组中的开发者。如需了解详情,请参阅适用于 GDC 网闸隔离配置文档的受众群体。

准备工作

备份用户集群时,请确保用于创建备份方案的项目已附加到该集群。

申请 IAM 角色

如需创建备份方案,请让您的 IAM 组织管理员为您授予用户集群备份管理员 (user-cluster-backup-admin) 角色。此角色可创建、获取、列出、监视、更新、修补和删除用户集群中的备份资源,例如备份方案和恢复方案。

如果您是应用操作员,请让具有用户集群备份管理员权限的管理员为您创建备份方案。

创建备份方案

您必须为备份方案定义 Cron 时间表,以便根据 Cron 时间表自动生成备份。您还可以手动备份工作负载。 如需了解详情,请参阅创建手动备份。

使用 GDC 控制台或 API 创建备份方案。

控制台

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份。
  3. 点击创建备份方案。
  4. 在方案详情部分,完成以下步骤,然后点击继续:
    1. 在集群列表中,选择要备份的集群。
    2. 在项目列表中,选择相应项目。
    3. 在备份方案名称字段中,输入您选择的备份方案名称。
    4. (可选)在备份方案说明中,输入备份方案的说明。
    5. 在备份仓库字段中,选择一个备份仓库。备份仓库是一组对象存储实现。
    6. 点击下一步。
  5. 在范围和加密部分中,完成以下步骤,然后点击继续:

    1. 为备份方案选择以下范围之一:

      1. 点击整个集群,备份备份中的所有命名空间资源。
      2. 点击集群中的所选命名空间,选择集群中要备份的命名空间。
        1. 点击修改集群命名空间,然后点击添加集群命名空间以输入命名空间。
      3. 点击此集群中的所选受保护应用,通过指定命名空间和应用名称来添加资源。
        1. 点击修改受保护的应用,然后点击添加受保护的应用,以输入命名空间和受保护的应用。
    2. 点击包括 Secret 以包含 Kubernetes Secret 资源。

    3. 如果您希望在备份中使用卷数据,请点击包括永久性卷数据。如果要在备份期间创建空卷,请取消选中此复选框。

  6. 在时间表和保留部分中,完成以下步骤,然后点击继续:

    1. 如需定义时间表,请在 CRON 字符串字段中,使用标准 cron 语法输入表达式。例如,表达式 10 3 * * * 会在每天凌晨 3:10 创建备份。所有时间均采用世界协调时间 (UTC)。所预定的备份之间的最短间隔为 10 分钟。
    2. 在删除备份前的保留天数字段中,设置保留备份的天数。达到天数后,备份会自动删除。
    3. 设置无法删除备份的天数。
    4. 如需锁定保留政策,请点击锁形图标,将锁定从关闭切换为开启。
  7. 查看备份方案详情,然后点击创建方案。

API

在集群中创建 ClusterBackupPlan 自定义资源,以安排备份。备份方案会根据 backupSchedule 定期安排备份。ClusterBackupPlan 资源是命名空间资源。下面是一个 ClusterBackupPlan 示例:

apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
  name: CLUSTER_BACKUP_PLAN
  namespace: PROJECT_NAME
spec:
  targetCluster:
    targetClusterType: UserCluster
    targetClusterName:
      kind: "Cluster"
      name: CLUSTER_NAME
  backupSchedule:
    cronSchedule: CRON_SCHEDULE
    paused: BACKUP_SCHEDULE_STATUS
    maxConcurrency: MAX_CONCURRENCY
  clusterBackupConfig:
    backupScope:
      selectedNamespaces:
        namespaces: [NAME_SPACE]
    clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
  retentionPolicy:
    backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
    backupRetainDays: BACKUP_RETAIN_DAYS
  description: BACKUP_PLAN_DESCRIPTION

替换以下内容:

  • CLUSTER_BACKUP_PLAN:集群备份方案名称。
  • PROJECT_NAME:GDC 项目的名称。
  • CLUSTER_NAME:要备份的集群的名称。封闭的 targetCluster 字段包含以下组件:
    • targetClusterType:要备份的集群类型,例如 UserCluster 或 ManagementAPI。本示例使用 UserCluster。
    • targetClusterName:包含 name,由 CLUSTER_NAME 设置。
  • CRON_SCHEDULE:crontab 时间表,用于指示何时安排备份,例如 "*/30 * * * *"。所预定的备份之间的最短间隔为 10 分钟。
  • BACKUP_SCHEDULE_STATUS:如果为 true,则不会安排定期备份。
  • MAX_CONCURRENCY:指定一个备份方案下可同时存在的有效预定备份的数量上限。如果指定了此值,则在任何给定时间,此备份方案中处于活跃状态的预定备份数量不得超过此值。如果未指定,则默认为 2。该值必须介于 1 到 7 之间。
  • NAME_SPACE:要包含在备份中的命名空间列表。封闭的 clusterBackupConfig 字段包含备份的配置详细信息:
    • backupScope:指明备份哪些资源。本示例使用 selectedNamespaces。可能的值包括:
      • allNamespaces:捕获所有命名空间中的所有资源。
      • selectedNamespaces:捕获指定命名空间列表中的资源。
      • selectedApplication:捕获由 protectedApplications 定义的资源。
    • namespaces:如果 backupScope 为 selectedNamespaces,则适用。
  • CLUSTER_BACKUP_REPOSITORY:clusterBackupConfig 中 clusterBackupRepositoryName 的值。这是存储备份的目标代码库,必须导入为 ReadWrite。
  • BACKUP_DELETE_LOCK_DAYS:防止在备份创建后的指定天数内删除备份,例如 10 days。
  • BACKUP_RETAIN_DAYS:定义保留备份的总天数。在此期限过后,备份会被自动删除。将此值设置为较高的数字可能会导致存储空间耗尽,而将其设置为较低的值可能会增加数据丢失的风险。如果未指定,此值默认设置为 35。保留政策不会覆盖存储位置的保留政策,也不能超过 90 天。
  • BACKUP_PLAN_DESCRIPTION:备份方案的说明。

创建备份方案后,系统会根据备份时间表,使用指定的备份配置自动生成备份。

查看备份方案

使用 GDC 控制台查看备份方案:

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份。
  3. 点击选择项目,然后选择一个组织以查看该组织中的所有备份方案,或选择一个项目以查看该项目中的所有备份方案。
  4. 点击备份方案标签页。
  5. 点击列表中的备份方案,查看其详细信息。拥有用户集群备份管理员权限的用户可以查看组织中的所有备份方案。拥有 Backup Creator 角色的用户可以查看所选项目中的所有备份方案。

修改备份方案

使用 GDC 控制台修改备份方案:

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份。
  3. 点击选择项目,然后选择一个组织以查看该组织中的所有备份方案,或选择一个项目以查看该项目中的所有备份方案。
  4. 点击备份方案标签页。
  5. 点击要修改的备份方案的名称。
  6. 点击方案配置标签页,查看可修改的字段。
  7. 点击时间表和保留对应的 “修改”图标,以修改该资源:

    1. 如需更新时间表,请在 CRON 字符串字段中使用标准 cron 语法输入表达式。例如,表达式 10 3 * * * 会在每天凌晨 3:10 创建备份。所有时间均采用世界协调时间 (UTC)。所预定的备份之间的最短间隔为 10 分钟。
    2. 在删除备份前的保留天数字段中,设置保留备份的天数。达到天数后,备份会自动删除。
    3. 在禁止删除备份的天数字段中,设置无法删除备份的天数。

    4. 如需锁定保留政策,请点击锁形图标,将锁定从关闭切换为开启。

    5. 点击保存按钮以确认更改。

停用备份方案

使用 GDC 控制台停用备份方案:

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份。
  3. 点击选择项目,然后选择一个组织以查看组织中的所有备份方案,或选择一个项目以查看项目中的所有备份方案。
  4. 点击备份方案标签页。
  5. 点击要停用的备份方案的名称。
  6. 点击停用方案按钮。
  7. 在字段中输入要停用的备份方案的名称。
  8. 点击停用按钮,完成此备份方案的停用。

后续步骤