Criar uma restauração refinada

Nesta página, descrevemos como criar uma restauração refinada para um backup no Google Distributed Cloud (GDC) isolado por air-gap.

O recurso de restauração detalhada permite restaurar um subconjunto de recursos de um backup. Esse recurso oferece a flexibilidade de refinar o escopo de restauração definido no plano de restauração.

Antes de começar

Para criar uma restauração detalhada de um backup, você precisa ter o seguinte:

  • Um backup existente. Para mais informações, consulte Planejar um conjunto de backups.
  • O papel necessário de identidade e acesso:

    • Para usuários do PA:
      • Administrador de backup de cluster de usuário: gerencia recursos de backup, como planos de backup e restauração em clusters de usuário. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de backup do cluster de usuário (user-cluster-backup-admin).
    • Para usuários do AO:
      • Criador de backup: cria backups e restaurações manuais. Peça ao administrador do IAM do projeto para conceder a você o papel de criador de backup (backup-creator).
    • Para mais informações, consulte Definições de papéis.

Criar uma restauração refinada

Para criar uma restauração com um filtro detalhado, siga estas etapas:

  1. Crie os filtros de restauração refinados. É possível usar o exemplo YAML a seguir.

    inclusionFilters:
      - groupKind:
          group: foo.io
          kind: Bar
        name: name1
        namespace: ns1
    exclusionFilters:
      - labels:
          key1: value1
          key2: value2
    
  2. Crie um recurso personalizado ManualRestoreRequest para planejar restaurações de um Backups atual. Confira um exemplo de 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
    

Substitua:

  • RESTORE_NAME: o nome da restauração que você quer criar.
  • PROJECT_NAMESPACE: o nome do seu projeto do GDC.
  • RESTORE_PLAN: o nome do plano de restauração de origem da restauração.
  • BACKUP_NAME: o backup a ser restaurado. Ele precisa estar associado ao plano de backup a que o plano de restauração se refere. Para mais informações, consulte Planejar um conjunto de restaurações.
  • FINE_GRAINED_RESTORE_FILTER: os filtros de restauração refinados. Para exemplos, consulte Exemplos de filtros de restauração refinados.

Exemplos de filtros de restauração refinados

Os exemplos a seguir são fornecidos no formato YAML usado pela Google Cloud CLI.

Restaurar um único recurso com escopo de namespace

Este exemplo restaura um recurso ConfigMap com o nome nginx-vars no namespace webserver, usando a restauração detalhada inclusionFilters para selecionar o recurso. Se quiser escolher recursos no grupo principal, use uma string vazia no campo group.

filter:
  inclusionFilters:
  - groupKind:
      kind: ConfigMap
    name: nginx-vars
    namespace: webserver

Excluir um único recurso com escopo de cluster

Este exemplo restaura todos os recursos disponíveis, exceto um recurso groupKind com o nome sc1, usando a restauração detalhada exclusionFilters para excluir o recurso.

filter:
  exclusionFilters:
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass
    name: sc1

Restaurar recursos com dois rótulos

Este exemplo restaura recursos que têm os rótulos key1:value1 e key2:value2, usando a restauração detalhada inclusionFilters para selecionar os recursos.

filter:
  inclusionFilters:
  - labels:
      key1: value1
      key2: value2

Excluir todos os recursos de alguns GroupKinds

Este exemplo restaura todos os recursos disponíveis, exceto os recursos groupKind de ConfigMap e storage.k8s.io/StorageClass, usando a restauração detalhada exclusionFilters para excluir esses dois GroupKinds.

filter:
  exclusionFilters:
  - groupKind:
      kind: ConfigMap
  - groupKind:
      group: storage.k8s.io
      kind: StorageClass

A seguir