Criar uma restauração refinada

Este documento descreve como criar uma restauração detalhada para um backup no Google Distributed Cloud (GDC) com isolamento físico.

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

Antes de começar

Verifique se você tem um backup. Para mais informações, consulte Planejar um conjunto de backups.

Solicitar papéis do IAM

Para criar uma restauração detalhada para um backup, peça ao administrador do IAM da organização ou do projeto para conceder um dos seguintes papéis:

  • Administrador de backup do cluster de usuário (user-cluster-backup-admin): cria, recebe, lista, monitora, atualiza, corrige e exclui recursos de backup, como planos de backup e restauração em clusters de usuário. Entre em contato com o administrador do IAM da organização para solicitar esse papel.

  • Criador de backup (backup-creator): cria, recebe, lista, monitora, atualiza, corrige e exclui solicitações de backup manual e de restauração manual. Entre em contato com o administrador do IAM do projeto para solicitar esse papel.

Criar uma restauração detalhada

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

  1. Crie os filtros de restauração detalhada. Você pode usar o exemplo de 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. 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. Esse backup precisa estar associado ao plano de backup ao qual 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 detalhada. Para exemplos, consulte Exemplos de filtros de restauração detalhada.

Exemplos de filtros de restauração detalhada

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 você quiser escolher recursos no grupo principal, use uma string vazia para o 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