Crie um restauro detalhado

Esta página descreve como criar um restauro detalhado para uma cópia de segurança no Google Distributed Cloud (GDC) air-gapped.

A funcionalidade de restauro detalhado permite-lhe restaurar um subconjunto de recursos a partir de uma cópia de segurança. Esta funcionalidade oferece a flexibilidade de refinar o âmbito de restauro definido no plano de restauro.

Antes de começar

Para criar um restauro detalhado de uma cópia de segurança, tem de ter o seguinte:

  • Uma cópia de segurança existente. Para mais informações, consulte o artigo Planeie um conjunto de cópias de segurança.
  • A função de identidade e acesso necessária:

    • Para utilizadores da PA:
      • Administrador de cópias de segurança de clusters de utilizadores: gere recursos de cópia de segurança, como planos de cópia de segurança e restauro em clusters de utilizadores. Peça ao administrador de IAM da organização para lhe conceder a função de administrador de cópias de segurança de clusters de utilizadores (user-cluster-backup-admin).
    • Para utilizadores do AO:
      • Criador de cópias de segurança: cria cópias de segurança manuais e faz restauros. Peça ao administrador de IAM do projeto para lhe conceder a função de criador de cópias de segurança (backup-creator).
    • Para mais informações, consulte o artigo Definições de funções.

Crie um restauro detalhado

Para criar um restauro com um filtro detalhado, siga estes passos:

  1. Crie os filtros de restauro detalhados. Pode usar o seguinte exemplo de YAML.

    inclusionFilters:
      - groupKind:
          group: foo.io
          kind: Bar
        name: name1
        namespace: ns1
    exclusionFilters:
      - labels:
          key1: value1
          key2: value2
    
  2. Crie um ManualRestoreRequestrecurso personalizado para planear restauros a partir de um Backups existente. Segue-se um exemplo de um 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 o seguinte:

  • RESTORE_NAME: o nome do restauro que quer criar.
  • PROJECT_NAMESPACE: o nome do seu projeto do GDC.
  • RESTORE_PLAN: o nome do plano de restauro a partir do qual este restauro é derivado.
  • BACKUP_NAME: a cópia de segurança a restaurar. Esta cópia de segurança tem de estar associada ao plano de cópia de segurança ao qual o plano de restauro se refere. Para mais informações, consulte o artigo Planeie um conjunto de restauros.
  • FINE_GRAINED_RESTORE_FILTER: os filtros de restauro detalhados. Para ver exemplos, consulte os exemplos de filtros de restauro detalhados.

Exemplos de filtros de restauro detalhados

Os exemplos seguintes são fornecidos no formato YAML usado pela CLI do Google Cloud.

Restaure um recurso com âmbito de um único espaço de nomes

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

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

Exclua um único recurso com âmbito de cluster

Este exemplo restaura todos os recursos disponíveis, exceto um groupKind recurso 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

Restaure recursos com duas etiquetas

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

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

Exclua 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 estes dois GroupKinds.

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

O que se segue?