本文档介绍了如何在 Google Distributed Cloud (GDC) 气隙环境中为备份创建精细恢复。
精细恢复功能可让您从备份中恢复部分资源。借助此功能,您可以灵活地细化恢复方案中定义的恢复范围。
准备工作
确保您已有备份。如需了解详情,请参阅规划一组备份。
申请 IAM 角色
如需为备份创建精细恢复,请让组织 IAM 管理员或项目 IAM 管理员向您授予以下某个角色:
用户集群备份管理员 (
user-cluster-backup-admin):在用户集群中创建、获取、列出、监控、更新、修补和删除备份资源,例如备份和恢复方案。请与组织 IAM 管理员联系以申请此角色。备份创建者 (
backup-creator):创建、获取、列出、监控、更新、修补和删除手动备份请求和手动恢复请求。请与项目 IAM 管理员联系以申请此角色。
创建精细恢复
如需使用精细过滤器创建恢复,请按以下步骤操作:
创建精细恢复过滤器。您可以使用以下 YAML 示例。
inclusionFilters: - groupKind: group: foo.io kind: Bar name: name1 namespace: ns1 exclusionFilters: - labels: key1: value1 key2: value2创建一个
ManualRestoreRequest自定义资源,以规划从现有Backups进行的恢复。以下是ManualRestoreRequest的示例:apiVersion: backup.gdc.goog/v1 kind: ManualRestoreRequest metadata: name: RESTORE_NAME namespace: PROJECT_NAMESPACE spec: restoreName: RESTORE_NAME restorePlanName: RESTORE_PLAN backupName: BACKUP_NAME filter: FINE_GRAINED_RESTORE_FILTERS
替换以下内容:
RESTORE_NAME:您要创建的恢复的名称。PROJECT_NAMESPACE:您的 GDC 项目的名称。RESTORE_PLAN:派生恢复的恢复方案的名称。BACKUP_NAME:要恢复的备份。此备份必须与恢复方案所引用的备份方案相关联。如需了解详情,请参阅规划一组恢复。FINE_GRAINED_RESTORE_FILTER:精细恢复过滤器。 如需查看示例,请参阅精细恢复过滤器 示例。
精细恢复过滤器示例
以下示例以 Google Cloud CLI 使用的 YAML 格式提供。
恢复单个命名空间范围的资源
此示例恢复命名空间 webserver 中名为 nginx-vars 的 ConfigMap 资源,它使用精细恢复 inclusionFilters 来选择该资源。如果您要选择核心组下的资源,请对 group 字段使用空字符串。
filter:
inclusionFilters:
- groupKind:
kind: ConfigMap
name: nginx-vars
namespace: webserver
排除单个集群范围的资源
此示例恢复除名称为 sc1 的一个 groupKind 资源之外的所有可用资源,它使用精细恢复 exclusionFilters 排除该资源。
filter:
exclusionFilters:
- groupKind:
group: storage.k8s.io
kind: StorageClass
name: sc1
恢复具有两个标签的资源
此示例恢复同时具有标签 key1:value1 和 key2:value2 的资源,它使用精细恢复 inclusionFilters 来选择资源。
filter:
inclusionFilters:
- labels:
key1: value1
key2: value2
排除某些 GroupKind 的所有资源
此示例恢复除 ConfigMap 和 storage.k8s.io/StorageClass 的 groupKind 资源之外的所有可用资源,它使用精细恢复 exclusionFilters 排除这两个 GroupKind。
filter:
exclusionFilters:
- groupKind:
kind: ConfigMap
- groupKind:
group: storage.k8s.io
kind: StorageClass