Nesta página, descrevemos como criar, editar e excluir um plano de restauração no Google Distributed Cloud (GDC) isolado.
Os planos de restauração são cenários de restauração pré-configurados para uma linha correspondente de backups. Os planos de restauração podem atribuir permissões para que os usuários com a função Criador de backup usem essas configurações.
Os criadores de backup podem restaurar um backup de maneira rápida e independente quando ocorre um incidente. Por exemplo, os dados permanentes podem ser corrompidos por uma atualização de software em um aplicativo implantado, colocando o namespace do aplicativo em um estado inválido, o que requer uma restauração.
Durante a restauração, você tem a opção de aplicar um conjunto de regras de substituição, que são usadas para corresponder a um conjunto de recursos e substituir o valor atual de um atributo nesses recursos por um novo valor. Por exemplo, uma regra de substituição pode mudar o namespace dos recursos em backup durante a restauração para migrar uma carga de trabalho de um namespace para outro.
Antes de começar
Para criar um plano de restauração, você precisa ter o seguinte:
O papel necessário de identidade e acesso:
- Administrador de backup de cluster de usuário: gerencia recursos de backup, como planos de backup e
restauração em clusters de usuário. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de backup do cluster de usuário (
user-cluster-backup-admin
). Para mais informações, consulte Definições de papéis. - Se você for um operador de aplicativos, peça ao administrador com privilégios de administrador de backup do cluster de usuário para criar um plano de restauração.
- Administrador de backup de cluster de usuário: gerencia recursos de backup, como planos de backup e
restauração em clusters de usuário. Peça ao administrador do IAM da organização para conceder a você o papel de administrador de backup do cluster de usuário (
Criar um plano de restauração
Crie um plano de restauração usando o console do GDC ou a API.
Console
- Faça login no console do GDC.
- No menu de navegação, clique em Backup para clusters.
- Clique em Criar plano de restauração.
- Na seção Noções básicas do plano de restauração, siga estas etapas e clique em
Próxima:
- Em Nome do plano de restauração, insira o nome do plano.
- (Opcional) Em Descrição do plano de restauração, insira uma descrição para o plano.
- Na lista Cluster de origem, escolha o cluster de origem para o plano de restauração.
- Na lista Projeto, escolha o projeto para o plano de restauração.
- Selecione o projeto anexado ao cluster de origem.
- No campo Plano de backup, escolha um plano de backup para um cluster existente que corresponda aos backups que você quer restaurar.
- No campo Cluster de destino, escolha o cluster em que você quer restaurar o backup.
- Na seção Escolher recursos com namespace, conclua as etapas a seguir
e clique em Avançar:
- Escolha os namespaces a serem restaurados:
- Clique em Todos os recursos com namespace para restaurar todos os recursos com namespace no backup.
- Clique em Recursos com namespace selecionados para especificar os
namespaces no backup a ser restaurado.
- Clique em Editar namespaces do cluster e em Adicionar namespace do cluster para inserir um namespace.
- Clique em Aplicativos protegidos selecionados para adicionar recursos especificando o namespace e o nome do aplicativo.
- Escolha como lidar com conflitos:
- Clique em Falha em caso de conflito (não destrutivo) para falhar na restauração se já houver namespaces destinados à restauração de um backup no cluster de destino.
- Clique em Reverter (destrutivo) para excluir os namespaces atuais antes de restaurar os novos namespaces, se já houver namespaces destinados à restauração a partir de um backup no cluster de destino.
- Escolha como restaurar dados de volume:
- Clique em Provisionar novos volumes e restaurar dados de volume do backup para restaurar dados de volume do backup em um novo disco permanente.
- Clique em Não restaurar dados de volume para provisionar um novo volume permanente. Se o cluster de destino contiver um volume permanente não vinculado que atenda aos requisitos de
PersistentVolumeClaim
, o cluster estará vinculado ao volume. - Clique em Reutilizar os volumes atuais que contêm os dados para não
restaurar dados de backup de volume. Qualquer
PersistentVolumeClaims
está vinculada a volumes que fazem referência aos discos permanentes atuais.
- Escolha os namespaces a serem restaurados:
- Opcional: na seção Escolher recursos com escopo de cluster, conclua as etapas a seguir e clique em Próxima:
- Clique em Não restaurar recursos com escopo de cluster para deixar a versão atual do recurso intacta.
- Clique em Restaurar recursos com escopo de cluster por GroupKind para restaurar esses recursos.
- Clique em Editar GroupKinds para adicionar mais recursos com escopo de cluster. Insira o Grupo de API e o Tipo de objeto para corresponder aos recursos desses tipos.
- Clique em Preservar recursos atuais para criar recursos se eles não existirem no cluster de destino.
- Clique em Substituir recursos no cluster de destino para excluir um recurso se ele já existir no cluster de destino e restaurar a cópia do backup.
- Opcional: na seção Adicionar regras de substituição, siga estas etapas e clique em Próximo:
- Clique em Adicionar nova regra.
- Na caixa Namespaces do cluster, digite uma lista de namespaces para corresponder aos recursos deles.
- Para adicionar GroupKinds, clique em Adicionar GroupKind e insira o grupo de API e o tipo de objeto para corresponder aos recursos desses tipos.
- No campo Caminho JSON, digite o caminho JSON que identifica os campos nos recursos correspondentes a que a substituição se aplica.
- No campo Padrão de valor original, digite o padrão original para comparar com o novo valor.
- No campo Novo valor, digite o novo valor que vai substituir o valor atual dos atributos correspondentes.
- Clique em Salvar.
- Clique em Criar.
API
Crie um recurso personalizado ClusterRestorePlan
para planejar restaurações de um ClusterBackupPlan
atual. O ClusterRestorePlan
atribui o conjunto exato de recursos e namespaces que um criador de backup tem permissão para restaurar. Confira um exemplo
de ClusterRestorePlan
:
apiVersion: backup.gdc.goog/v1
kind: ClusterRestorePlan
metadata:
name: restoreplan-sample
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: "user-vm-1"
description: "restores test clusters"
clusterBackupPlanName: "backupplan-sample"
clusterRestoreConfig:
volumeDataRestorePolicy: RestoreVolumeDataFromBackup
clusterResourceConflictPolicy: UseBackupVersion
namespacedResourceRestoreMode: DeleteAndRestore
namespacedResourceRestoreScope:
selectedNamespaces:
namespaces: ["nginx-2"]
clusterBackupRepositoryRef: "backup-repository"
substitutionRules:
- newValue: "newhippo"
originValuePattern: game-config-2
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
- newValue: "hippo"
originValuePattern: game-config
target:
groupKinds:
jsonPath: '{.metadata.name}'
namespaces:
- nginx-2
Substitua PROJECT_NAME
pelo nome do projeto do GDC.
Este exemplo usa os seguintes valores:
Valor |
Atributo |
Descrição |
---|---|---|
clusterBackupPlanName |
O nome do ClusterBackupPlan a ser restaurado. O ClusterBackupPlan precisa estar no mesmo namespace que o ClusterRestorePlan . |
|
targetClusterName |
Nome do cluster de origem em um projeto ao qual este plano está associado. | |
description |
Uma descrição fornecida pelo usuário para a finalidade do ClusterRestorePlan . |
|
clusterRestoreConfig |
Configuração para o processo de restauração. | |
clusterBackupRepositoryRef |
Especifica o repositório para armazenar os recursos Restore . Esse repositório pode ser diferente daquele de onde o backup foi feito. O repositório precisa ser um repositório ReadWrite
no cluster. |
|
clusterResourceConflictPolicy |
Especifica o comportamento para lidar com conflitos de recursos do cluster, como
se o recurso já existir no cluster. Especifique uma destas opções:
|
|
volumeDataRestorePolicy |
Especifique uma destas opções:
|
|
namespacedResourceRestoreMode |
Lida com a situação em que os conjuntos de recursos com namespace que estão sendo restaurados já existem no cluster de destino. Especifique uma destas opções:
|
|
namespacedResourceRestoreScope |
Especifica quais Namespaces ou ProtectedApplications são permitidos para restauração.
|
|
substitutionRules |
Regras para substituir valores nos recursos do Kubernetes com backup durante a restauração. Uma lista vazia significa que não haverá substituição. As regras de substituição são aplicadas em sequência na ordem definida. Essa ordem é importante, já que as mudanças feitas por uma regra podem afetar a lógica de correspondência da regra subsequente. |
Depois que um ClusterRestorePlan
é criado, os usuários com a função de criador de backup podem
restaurar backups manualmente.
Ver um plano de restauração
Para ver um plano de restauração usando o console do GDC:
- Faça login no console do GDC.
- No menu de navegação, clique em Backup para clusters.
- Clique em Selecionar projeto para escolher uma organização ou um projeto, dependendo da sua função:
- Administrador de backup de cluster de usuário: selecione uma organização para conferir todos os planos de restauração em uma organização ou selecione um projeto para conferir todos os planos de restauração em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de restauração nele.
- Clique na guia Restaurar planos.
- Clique em um plano de restauração na lista para ver os detalhes.
Editar um plano de restauração
Se o repositório de backup associado ao plano de restauração que você quer editar tiver um valor no campo Cluster vinculado(somente leitura) quando o plano de restauração for criado, ele será criado duas vezes. O plano de restauração é propagado para os clusters de leitura/gravação e somente leitura.
Ao editar o plano de restauração de um repositório de backup que tem clusters de leitura/gravação e somente leitura definidos, edite o plano de restauração que tem o TARGET CLUSTER
definido como o cluster de leitura/gravação.
Edite um plano de restauração usando o console do GDC:
- Faça login no console do GDC.
- No menu de navegação, clique em Backup para clusters.
- Clique em Selecionar projeto para escolher uma organização ou um projeto, dependendo da sua função:
- Administrador de backup de cluster de usuário: selecione uma organização para conferir todos os planos de restauração em uma organização ou selecione um projeto para conferir todos os planos de restauração em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de restauração nele.
- Clique na guia Restaurar planos.
- Clique no nome do plano de restauração que você quer editar.
- Clique na guia Configuração do plano para ver os campos que podem ser modificados.
Clique no ícone edit Editar ao lado de Recursos com namespace para editar esse recurso:
Na seção Escolher recursos com namespace, selecione quais recursos com namespace no backup você quer restaurar:
- Selecione Todos os recursos com namespace para restaurar todos os recursos com namespace no backup.
Selecione Recursos com namespace selecionados para restaurar recursos dos namespaces selecionados no backup:
- Selecione Editar namespaces do cluster para escolher o namespace do cluster.
- No campo Namespace do cluster 1, insira o nome do namespace.
- Clique no botão Salvar.
Selecione Aplicativos protegidos selecionados para restaurar recursos dos aplicativos protegidos selecionados no backup:
- Selecione Editar aplicativos protegidos para escolher o namespace e o aplicativo protegido.
- No campo Namespace 1, insira o nome do namespace.
- No campo Aplicativo protegido 1, insira o nome do aplicativo protegido.
- Clique no botão Salvar.
Clique no ícone edit Editar ao lado de Recursos no escopo do cluster para editar esse recurso:
Opcional: na seção Escolher recursos com escopo de cluster, selecione os recursos com escopo de cluster a serem restaurados especificando os grupos de API e
GroupKinds
e decida como os conflitos devem ser resolvidos:- Selecione Não restaurar recursos com escopo de cluster para remover esses recursos do processo de restauração.
Selecione Restaurar recursos com escopo de cluster por GroupKind para restaurar os recursos pelo
GroupKind
especificado:Para especificar um
GroupKind
, clique no botão Editar GroupKind.Clique no botão Add GroupKind.
Digite o nome do
GroupKind
.Clique no botão Salvar.
Na seção Tratamento de conflitos, determine qual ação será tomada se o recurso já existir no cluster de destino:
- Selecione Preservar recursos atuais para criar recursos se eles ainda não existirem no cluster.
- Selecione Substituir recursos atuais para excluir os recursos encontrados e substituir pelo recurso restaurado.
Clique no botão Salvar para confirmar as mudanças.
Na seção Regras de substituição, clique no botão Adicionar nova regra:
- No campo Namespaces do cluster, insira o nome do namespace do cluster em que essa regra de substituição será aplicada.
- Clique no botão Adicionar GroupKind para aplicar essa regra a um determinado objeto
GroupKind
. - No campo Caminho JSON, insira o caminho para o atributo do recurso que você quer substituir, no formato JSON.
- No campo Padrão do valor original, insira uma expressão regular que corresponda ao valor original do atributo.
- No campo Novo valor, insira o valor que será substituído no campo de destino. Se esse campo estiver em branco, o campo de destino será removido do recurso.
- Clique no botão Salvar para concluir a criação da nova regra de substituição.
Na seção Regras de substituição, clique no ícone edit Editar para mudar uma regra de substituição.
Na seção Regras de substituição, clique no ícone delete Excluir para remover uma regra de substituição.
Excluir um plano de restauração
O RestorePlans
pode ser excluído pelo console do GDC ou excluindo o
recurso diretamente do servidor da API Kubernetes. Isso limpa todos os artefatos RestorePlan
associados do armazenamento de objetos.
Console
- Faça login no console do GDC.
- No menu de navegação, clique em Backup para clusters.
- Clique em Selecionar projeto para escolher uma organização ou um projeto, dependendo da sua função:
- Administrador de backup do cluster de usuário: selecione uma organização para conferir todos os planos de restauração em uma organização ou selecione um projeto para conferir todos os planos de restauração em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de restauração dele.
- Clique na guia Restaurar planos.
- Clique no nome do plano de restauração que você quer excluir.
- Clique no botão delete Excluir.
- Digite o nome do plano de restauração no campo.
- Clique no botão Excluir para confirmar a exclusão do plano de recuperação.
API
Exclua o recurso do plano de restauração:
kubectl delete clusterRestoreplan RESTORE_PLAN_NAME -n NAMESPACE
Substitua:
RESTORE_PLAN_NAME
: o nome do plano de restauração.NAMESPACE
: o namespace que contém o plano de restauração.