备份工作负载

本页面详细介绍了如何在 Google Distributed Cloud (GDC) 空气隔离环境中为集群工作负载创建手动备份、查看现有备份和删除现有备份。

准备工作

如需创建、查看和删除备份,您必须具备以下条件:

  • 必要的身份和访问权限角色:

    • 对于平台管理员 (PA) 用户:
      • 用户集群备份管理员:管理用户集群中的备份资源,例如备份和恢复计划。请让您的组织 IAM 管理员为您授予 User Cluster Backup Admin (user-cluster-backup-admin) 角色。
    • 对于应用运营商 (AO) 用户:
      • 备份创建器:创建手动备份和恢复。请让您的项目 IAM 管理员为您授予 Backup Creator (backup-creator) 角色。
    • 如需了解详情,请参阅角色定义
  • AO 用户只能根据现有备份方案执行手动备份。

创建手动备份

如果您的备份方案定义了备份的时间表,则系统会自动根据该时间表创建备份。您还可以手动创建备份,而不受备份方案时间表的限制。例如,您可能希望在升级应用之前备份工作负载。备份不包含集群配置信息,例如节点配置、节点池、初始集群大小或已启用的功能。

备份会捕获两种形式的数据:

  • 配置备份:从正在备份的集群的 API 服务器中提取的一组 Kubernetes 资源说明。
  • 卷备份PersistentVolumeClaims 的备份。

控制台

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击 Backup for Clusters
  3. 点击备份方案标签页。
  4. 点击要用于备份的方案。
  5. 点击开始备份
  6. 输入备份名称和可选说明。
  7. 设置保留备份的天数。达到此天数后,系统会自动删除备份。
  8. 设置无法删除备份的天数。
  9. 点击开始

API

手动备份必须引用现有的备份方案以获取备份配置,并且必须通过发出 ManualClusterBackupRequest 来创建备份。

以下是 ManualClusterBackupRequest 的示例:

apiVersion: backup.gdc.goog/v1
kind: ManualClusterBackupRequest
metadata:
  name: manualbackuprequest-test
  namespace: PROJECT_NAME
spec:
  clusterBackupName: "backup-test"
  clusterBackupPlanRef: "backupplan-test"
  deleteLockDays: 5
  retainDays: 6

PROJECT_NAME 替换为您的 GDC 项目的名称。

此示例包含以下值:

说明
clusterBackupName 要创建的备份的名称。
clusterBackupPlanRef 用于配置备份的 ClusterBackupPlan 的名称。备份方案必须与 ManualClusterBackupRequest 位于同一命名空间中。
deleteLockDays 在备份创建后,阻止在指定天数内删除备份。这会替换 ClusterBackupPlan 中的 retentionPolicy
retainDays 在备份创建后达到指定天数时删除备份。此值会替换 ClusterBackupPlan 中的 retentionPolicy。 保留政策不会覆盖存储位置的保留政策,也不能超过 90 天。

查看备份

拥有“用户集群备份管理员”(user-cluster-backup-admin) 角色的用户可以查看组织中的所有备份。 具有 Backup Creator (backup-creator) 角色的用户可以查看项目中的所有备份。

控制台

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击 Backup for Clusters
  3. 点击选择项目,然后根据您的角色选择组织或项目:
    • 用户集群备份管理员:选择组织可查看组织中的所有备份,选择项目可查看项目中的所有备份。
    • 备份创建者:选择项目以查看项目中的所有备份。
  4. 点击备份标签页。
  5. 点击列表中的备份即可查看其详细信息。

kubectl

查看备份列表:

kubectl get clusterBackups

输出示例:

NAME            STATE
backup-test   Succeeded

删除备份

无法通过与 Kubernetes API 服务器的常规互动来删除备份。如需删除备份,请使用 GDC 控制台或发出 DeleteClusterBackupRequest

控制台

备份标签页中删除备份:

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击 Backup for Clusters
  3. 点击选择项目,然后根据您的角色选择组织或项目:
    • 用户集群备份管理员:选择组织可查看组织中的所有备份,选择项目可查看项目中的所有备份。
    • 备份创建者:选择项目以查看项目中的所有备份。
  4. 点击备份标签页。
  5. 点击要删除的备份对应的三点状菜单图标。
  6. 在文本框中输入备份的名称。
  7. 点击删除备份按钮,即可完成此备份的删除。

或者,您也可以在查看备份方案时点击备份名称来删除备份:

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击 Backup for Clusters
  3. 点击选择项目,然后根据您的角色选择组织或项目:
    • 用户集群备份管理员:选择组织可查看组织中的所有备份方案,选择项目可查看项目中的所有备份方案。
    • 备份创建者:选择项目以查看项目中的所有备份方案。
  4. 点击备份方案标签页。
  5. 点击包含要删除的备份的备份方案的名称。
  6. 点击备份标签页。
  7. 点击要删除的备份的名称。
  8. 点击删除备份按钮。
  9. 在文本字段中输入备份的名称。
  10. 点击删除按钮即可完成此备份的删除。

kubectl

请发送 DeleteClusterBackupRequest 请求:

apiVersion: backup.gdc.goog/v1
kind: DeleteClusterBackupRequest
metadata:
  name: deletebackuprequest-test
  namespace: PROJECT_NAME
spec:
  clusterBackupRef: "backup-test"

PROJECT_NAME 替换为您的 GDC 项目的名称。

此示例包含以下值:

  • backupName:要删除的备份的名称。此备份必须与 DeleteClusterBackupRequest 位于同一命名空间中。
  • DeleteClusterBackupRequest:从集群中删除备份自定义资源,并从备份的存储位置移除与该备份关联的所有制品(包括卷数据)的资源。

后续步骤