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
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
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 comoprojects/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:
No Console do Google Cloud, acesse a página do Google Kubernetes Engine.
No menu de navegação, clique em Backup para GKE.
Clique na guia Backups.
Na lista de backups, selecione o backup que você quer restaurar e clique em Configurar uma restauração.
Escolha um plano de restauração na lista de planos que se aplicam a esse backup.
Insira um Nome e uma Descriçãoopcional para a restauração.
Clique na caixa de seleção Ativar restauração detalhada.
Na seção Filtros de inclusão ou Filtros de exclusão, clique em Adicionar condição de filtro.
Em Restaurar condição do filtro, defina a condição e clique em Salvar alterações.
Se quiser incluir mais condições, clique novamente em Adicionar condições de filtro.
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
- Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
- Na seção Filtros de inclusão, clique em Adicionar condição de filtro.
- No campo Nome do recurso, digite
nginx-vars
. - No campo Namespace, insira
webserver
. - No campo Tipo de objeto, insira
ConfigMap
. - 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
- Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
- Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Nome do recurso, digite
sc1
. - No campo Grupo de APIs, insira
storage.k8s.io
. - No campo Tipo de objeto, insira
StorageClass
. - 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
- Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
- Na seção Filtros de inclusão, clique em Adicionar condição de filtro.
Na seção Rótulos:
- Clique em Adicionar rótulo.
- No campo Chave 1, digite
key1
. - No campo Valor 1, insira
value1
. - Clique em Adicionar marcador.
- No campo Chave 2, digite
key2
. - No campo Valor 2, insira
value2
.
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
- Ative a restauração detalhada, como você fez no procedimento Criar uma restauração com filtro de restauração detalhada.
- Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Tipo de objeto, insira
ConfigMap
. - Clique em Salvar.
- No campo Tipo de objeto, insira
- Na seção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Grupo de APIs, insira
storage.k8s.io
. - No campo Tipo de objeto, insira
StorageClass
. - Clique em Salvar.
- No campo Grupo de APIs, insira