Ativar restauração refinada


Esta página descreve como selecionar recursos para restauração com granularidade mais refinada.

Visão geral

O recurso de restauração detalhada permite restaurar um subconjunto de recursos um backup. O recurso de restauração detalhada proporciona a flexibilidade de refinar o escopo de restauração definido no plano de restauração pai. Se os detalhes o escopo da restauração não se sobrepõe ao escopo original definido no restaurar plano, nenhum recurso será restaurado.

O recurso de restauração detalhada pode ser ativado para planos de restauração os modos individuais de tratamento de conflitos em nível de recurso:

  • Mesclar pulos
  • Mesclar substituição
  • Mesclar substituição de volume

Se os planos de restauração estiverem usando modos de tratamento de conflitos no nível do namespace ou ProtectedApplication, como Falha em conflito ou Reversão, e você quer ativar restaurar, será necessário atualizar seu plano de restauração para usar modos compatíveis ou criar um novo plano de restauração. Para mais informações sobre os modos de restauração, consulte Gerenciar conflitos de recursos durante a restauração.

Para usar uma restauração detalhada, é possível definir uma ou mais condições de filtro em filtros de inclusão e exclusão. É possível selecionar um subconjunto específico de recursos backup para restauração ou restauração de todos os recursos, exceto um subconjunto. Você pode definir filtros de inclusão e exclusão simultaneamente. Se os filtros de inclusão forem usados, somente os recursos que corresponderem a esses filtros serão restaurados. Se a exclusão os filtros são usados, ele exclui os recursos correspondentes do processo de restauração. Quando os filtros de inclusão e exclusão são especificados, os filtros de inclusão são aplicada primeiro, seguida por filtros de exclusão. Isso significa que os filtros de exclusão têm prioridade sobre os filtros de inclusão. Se nenhum filtro for especificado, a restauração é realizado em todo o escopo definido no plano de restauração pai.

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

  • GroupKind: o grupo da API Kubernetes e o tipo do recurso
  • Namespace: o namespace para recursos com escopo de namespace
  • Nome do recurso: o nome do recurso
  • Rótulos: os pares de chave-valor para selecionar recursos com base nos rótulos do Kubernetes.

É possível usar uma combinação dos quatro atributos anteriores para definir um filtro. condição. Se mais de um atributo for especificado, as relações entre são considerados AND. Um recurso será selecionado se corresponder a todos atributos definidos na condição do filtro. Também é possível fornecer vários filtros condições ao mesmo tempo, as relações entre diferentes filtros condições são OR. Um recurso será selecionado se corresponder a qualquer condição de filtro de todos os fornecidos.

Antes de começar

Planeje um conjunto de restaurações.

Criar uma restauração com filtro de restauração detalhada

gcloud

  1. Crie um arquivo YAML ou JSON com filtros de restauração refinados. É possível usar o exemplo YAML a seguir.

    exclusionFilters:
    - groupKind:
        resourceGroup: foo.io
        resourceKind: Bar
      name: name1
      namespace: ns1
    inclusionFilters:
    - labels:
        key1: value1
        key2: value2
    
  2. Crie uma restauração usando o arquivo do filtro de restauração detalhado que você 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:

    • RESTORE: o nome da restauração que você quer criar.
    • PROJECT_ID: o ID do seu projeto do Google Cloud.
    • LOCATION: a região de computação do plano de restauração pai.
    • RESTORE_PLAN: o nome do plano de restauração pai de origem da restauração.
    • BACKUP: o backup a ser restaurado. Ele precisa estar localizado no plano de backup a que o plano pai de restauração se refere como projects/PROJECT_ID/locations/LOCATION/backupPlans/BACKUP_PLAN/backups/BACKUP

    • FILTER_FILE: o caminho dos filtros de restauração refinados.

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

Console

Use as instruções a seguir para criar uma restauração detalhada no console do Google Cloud:

  1. No Console do Google Cloud, acesse a página do Google Kubernetes Engine.

    Acessar o Google Kubernetes Engine

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

  3. Clique na guia Backups.

  4. Na lista de backups, selecione o backup que você quer restaurar e clique em Configurar uma restauração.

  5. Escolha um plano de restauração na lista de planos que se aplicam a esse backup.

  6. Insira um Nome e uma Descriçãoopcional para a restauração.

  7. Clique na caixa de seleção Ativar restauração detalhada.

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

  9. Em Restaurar condição do filtro, defina a condição e clique em Salvar alterações.

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

  11. Clique em Restaurar.

Exemplos de arquivos de filtro de restauração refinados

Os exemplos a seguir são fornecidos no formato YAML usado pela CLI do Google Cloud ou as instruções detalhadas do console do Google Cloud.

Restaurar um único recurso com escopo de namespace

Este exemplo restaura um tipo de recurso ConfigMap com o nome nginx-vars em o namespace webserver, usando a restauração detalhada InclusionFilters para selecione o recurso. Caso queira escolher recursos no grupo core, use string vazia para resourceGroup.

gcloud

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

Console

  1. Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
  2. Na seção Filtros de inclusão, clique em Adicionar condição de filtro.
  3. No campo Nome do recurso, digite nginx-vars.
  4. No campo Namespace, insira webserver.
  5. No campo Tipo de objeto, insira ConfigMap.
  6. Clique em Salvar.

Excluir um único recurso com escopo de cluster

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

Console

  1. Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
  2. Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
  3. No campo Nome do recurso, digite sc1.
  4. No campo Grupo de APIs, insira storage.k8s.io.
  5. No campo Tipo de objeto, insira StorageClass.
  6. Clique em Salvar.

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.

gcloud

inclusionFilters:
- labels:
    key1: value1
    key2: value2

Console

  1. Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
  2. Na seção Filtros de inclusão, clique em Adicionar condição de filtro.
  3. Na seção Rótulos:

    1. Clique em Adicionar rótulo.
    2. No campo Chave 1, digite key1.
    3. No campo Valor 1, insira value1.
    4. Clique em Adicionar marcador.
    5. No campo Chave 2, digite key2.
    6. No campo Valor 2, insira value2.
  4. Clique em Salvar.

Excluir todos os recursos de alguns GroupKinds

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

gcloud

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

Console

  1. Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
  2. Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
    1. No campo Tipo de objeto, insira ConfigMap.
    2. Clique em Salvar.
  3. Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
    1. No campo Grupo de APIs, insira storage.k8s.io.
    2. No campo Tipo de objeto, insira StorageClass.
    3. Clique em Salvar.