Ative o restauro detalhado


Esta página descreve como selecionar recursos para restauro com uma granularidade mais precisa.

Vista geral

A funcionalidade de restauro detalhado permite-lhe restaurar um subconjunto de recursos a partir de uma cópia de segurança. A funcionalidade de restauro detalhado oferece a flexibilidade de refinar o âmbito de restauro definido no plano de restauro principal. Se o âmbito de restauro detalhado não tiver sobreposição com o âmbito original definido no plano de restauro principal, não são restaurados recursos.

A funcionalidade de restauro detalhado pode ser ativada para planos de restauro com modos de processamento de conflitos ao nível do recurso individual:

  • Ignorar união
  • Substituição de união
  • Mesclar volume de substituição

Se os seus planos de restauro estiverem a usar modos de processamento de conflitos ao nível do espaço de nomes ou da ProtectedApplication, como Falhar em caso de conflito ou Reverter, e quiser ativar o restauro detalhado, tem de atualizar o seu plano de restauro para usar modos suportados ou criar um novo plano de restauro. Para mais informações sobre os modos de restauro, consulte o artigo Resolva conflitos de recursos durante o restauro.

Para usar o restauro detalhado, pode definir uma ou mais condições de filtro nos filtros de inclusão e exclusão. Pode selecionar um subconjunto específico de recursos da cópia de segurança para restauro ou restaurar todos os recursos, exceto um subconjunto. Pode definir filtros de inclusão e exclusão em simultâneo. Se forem usados filtros de inclusão, apenas os recursos que correspondem a esses filtros são restaurados. Se forem usados filtros de exclusão, os recursos correspondentes são excluídos do processo de restauro. Quando são especificados filtros de inclusão e exclusão, os filtros de inclusão são aplicados primeiro, seguidos dos filtros de exclusão. Isto significa que os filtros de exclusão têm prioridade sobre os filtros de inclusão. Se não forem especificados filtros, a restauração é realizada no âmbito completo definido no plano de restauro principal.

Existem quatro atributos opcionais ao criar uma condição de filtro:

  • GroupKind: o grupo e o tipo da API Kubernetes para o recurso
  • Espaço de nomes: o espaço de nomes para recursos com âmbito de espaço de nomes
  • Nome do recurso: o nome do recurso
  • Etiquetas: os pares chave-valor para selecionar o recurso com base nas etiquetas do Kubernetes

Pode usar uma combinação dos quatro atributos anteriores para definir uma condição de filtro. Se for especificado mais do que um atributo, as relações entre os atributos são consideradas AND. Um recurso é selecionado se corresponder a todos os atributos definidos na condição de filtro. Também pode fornecer várias condições de filtro ao mesmo tempo. As relações entre diferentes condições de filtro são OR. Um recurso é selecionado se corresponder a qualquer condição de filtro de todas as fornecidas.

Antes de começar

Planeie um conjunto de restauros.

Crie um restauro com um filtro de restauro detalhado

gcloud

  1. Crie um ficheiro YAML ou JSON com filtros de restauro detalhados. Pode usar o seguinte exemplo de YAML.

    exclusionFilters:
    - groupKind:
        resourceGroup: foo.io
        resourceKind: Bar
      name: name1
      namespace: ns1
    inclusionFilters:
    - labels:
        key1: value1
        key2: value2
    
  2. Crie um restauro com o ficheiro de filtro de restauro detalhado que criou.

    gcloud beta container backup-restore restores create RESTORE \
        --project=PROJECT_ID \
        --location=LOCATION \
        --restore-plan=RESTORE_PLAN \
        --backup=BACKUP \
        --filter-file=FILTER_FILE
    

    Substitua o seguinte:

    • RESTORE: o nome do restauro que quer criar.
    • PROJECT_ID: o ID do seu projeto Google Cloud .
    • LOCATION: a região de computação do plano de restauro principal.
    • RESTORE_PLAN: o nome do plano de restauro principal do qual este restauro deriva.
    • BACKUP: a cópia de segurança a restaurar. Tem de estar localizado no plano de cópia de segurança ao qual o plano de restauro principal se refere como projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP

    • FILTER_FILE: o caminho dos seus filtros de restauro detalhados.

    Para ver a lista completa de opções, consulte a gcloud beta container backup-restore restores create documentação.

Consola

Use as instruções seguintes para criar um restauro detalhado na Google Cloud consola:

  1. Na Google Cloud consola, aceda à página Google Kubernetes Engine.

    Aceda ao Google Kubernetes Engine

  2. No menu de navegação, clique em Backup for GKE.

  3. Clique no separador Cópias de segurança.

  4. Na lista de cópias de segurança, selecione a cópia de segurança que quer restaurar e clique em Configurar um restauro.

  5. Escolha um plano de restauro na lista de planos que se aplicam a esta cópia de segurança.

  6. Introduza um Nome e uma Descrição opcional para o restauro.

  7. Clique na caixa de verificação Ativar restauro detalhado.

  8. Na secção Filtros de inclusão ou Filtros de exclusão, clique em Adicionar condição de filtro.

  9. Na Condição de filtro de restauro, defina a condição e clique em Guardar alterações.

  10. Se quiser adicionar mais condições, clique novamente em Adicionar condições de filtro.

  11. Clique em Restaurar.

Exemplos de ficheiros de filtros de restauro detalhados

Os exemplos seguintes são fornecidos no formato YAML usado pela CLI do Google Cloud ou nas instruções passo a passo para a Google Cloud consola.

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

Este exemplo restaura um tipo de 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 core, use uma string vazia para resourceGroup.

gcloud

  inclusionFilters:
  - groupKind:
      resourceKind: ConfigMap
    name: nginx-vars
    namespace: webserver

Consola

  1. Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
  2. Na secção Filtros de inclusão, clique em Adicionar condição de filtro.
  3. No campo Nome do recurso, introduza nginx-vars.
  4. No campo Namespace, introduza webserver.
  5. No campo Object kind (Tipo de objeto), introduza ConfigMap.
  6. Clique em Guardar alterações.

Exclua um único recurso com âmbito de cluster

Este exemplo restaura todos os recursos disponíveis, exceto um GroupKind de recurso storage.k8s.io/StorageClass com o nome sc1, usando a restauração detalhada ExclusionFilters para excluir o recurso.

gcloud

exclusionFilters:
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass
  name: sc1

Consola

  1. Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
  2. Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
  3. No campo Nome do recurso, introduza sc1.
  4. No campo Grupo de APIs, introduza storage.k8s.io.
  5. No campo Object kind (Tipo de objeto), introduza StorageClass.
  6. Clique em Guardar alterações.

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.

gcloud

inclusionFilters:
- labels:
    key1: value1
    key2: value2

Consola

  1. Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
  2. Na secção Filtros de inclusão, clique em Adicionar condição de filtro.
  3. Na secção Etiquetas:

    1. Clique em Adicionar etiqueta
    2. No campo Chave 1, introduza key1.
    3. No campo Valor 1, introduza value1.
    4. Clique em Adicionar etiqueta.
    5. No campo Chave 2, introduza key2.
    6. No campo Valor 2, introduza value2.
  4. Clique em Guardar alterações.

Exclua todos os recursos de alguns GroupKinds

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

gcloud

exclusionFilters:
- groupKind:
    resourceKind: ConfigMap
- groupKind:
    resourceGroup: storage.k8s.io
    resourceKind: StorageClass

Consola

  1. Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
  2. Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
    1. No campo Object kind (Tipo de objeto), introduza ConfigMap.
    2. Clique em Guardar alterações.
  3. Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
    1. No campo Grupo de APIs, introduza storage.k8s.io.
    2. No campo Object kind (Tipo de objeto), introduza StorageClass.
    3. Clique em Guardar alterações.