备份工作负载

本文档介绍如何在 Google Distributed Cloud (GDC) 气隙环境中创建手动备份、查看现有备份和删除现有备份,以用于集群工作负载。

准备工作

应用运维人员 (AO) 用户只能从现有备份方案执行手动备份。

申请 IAM 角色

如需创建、查看和删除备份,请让组织 IAM 管理员或项目 IAM 管理员为您授予以下角色之一:

  • 用户集群备份管理员 (user-cluster-backup-admin):在用户集群中创建、获取、列出、监控、更新、修补和删除备份资源,例如备份方案和恢复方案。请与组织 IAM 管理员联系以申请此角色。

  • 备份创建者 (backup-creator):创建、获取、列出、监控、更新、修补和删除手动备份请求和手动恢复请求。请与项目 IAM 管理员联系以申请此角色。

创建手动备份

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

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

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

控制台

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份
  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 在备份创建后指定的天数内阻止删除备份。这会替换 retentionPolicyClusterBackupPlan.
retainDays 在备份创建后达到指定天数时删除备份。此值会替换 ClusterBackupPlan 中的 retentionPolicy。 保留政策不会替换存储位置的保留政策,也不能超过 90 天。

查看备份

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

控制台

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

kubectl

查看备份列表:

kubectl get clusterBackups

输出示例:

NAME            STATE
backup-test   Succeeded

删除备份

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

控制台

备份 标签页中删除备份:

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

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

  1. 登录 GDC 控制台。
  2. 在导航菜单中,点击集群备份
  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:用于从集群中删除备份自定义资源并从备份的存储位置(包括卷数据)中移除与该备份关联的所有制品的资源。

后续步骤