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
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
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 comoprojects/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:
Na Google Cloud consola, aceda à página Google Kubernetes Engine.
No menu de navegação, clique em Backup for GKE.
Clique no separador Cópias de segurança.
Na lista de cópias de segurança, selecione a cópia de segurança que quer restaurar e clique em Configurar um restauro.
Escolha um plano de restauro na lista de planos que se aplicam a esta cópia de segurança.
Introduza um Nome e uma Descrição opcional para o restauro.
Clique na caixa de verificação Ativar restauro detalhado.
Na secção Filtros de inclusão ou Filtros de exclusão, clique em Adicionar condição de filtro.
Na Condição de filtro de restauro, defina a condição e clique em Guardar alterações.
Se quiser adicionar mais condições, clique novamente em Adicionar condições de filtro.
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
- Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
- Na secção Filtros de inclusão, clique em Adicionar condição de filtro.
- No campo Nome do recurso, introduza
nginx-vars
. - No campo Namespace, introduza
webserver
. - No campo Object kind (Tipo de objeto), introduza
ConfigMap
. - 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
- Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
- Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Nome do recurso, introduza
sc1
. - No campo Grupo de APIs, introduza
storage.k8s.io
. - No campo Object kind (Tipo de objeto), introduza
StorageClass
. - 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
- Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
- Na secção Filtros de inclusão, clique em Adicionar condição de filtro.
Na secção Etiquetas:
- Clique em Adicionar etiqueta
- No campo Chave 1, introduza
key1
. - No campo Valor 1, introduza
value1
. - Clique em Adicionar etiqueta.
- No campo Chave 2, introduza
key2
. - No campo Valor 2, introduza
value2
.
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
- Ative o restauro detalhado, tal como fez no procedimento Crie um restauro com um filtro de restauro detalhado.
- Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Object kind (Tipo de objeto), introduza
ConfigMap
. - Clique em Guardar alterações.
- No campo Object kind (Tipo de objeto), introduza
- Na secção Filtros de exclusão, clique em Adicionar condição de filtro.
- No campo Grupo de APIs, introduza
storage.k8s.io
. - No campo Object kind (Tipo de objeto), introduza
StorageClass
. - Clique em Guardar alterações.
- No campo Grupo de APIs, introduza