Nesta página, descrevemos como criar e gerenciar planos de backup para cargas de trabalho em clusters no Google Distributed Cloud (GDC) com isolamento físico.
Os planos de backup oferecem as funções de configuração, local e gerenciamento para uma sequência de backups. Um plano de backup contém uma configuração de backup, incluindo o cluster de origem e a seleção de cargas de trabalho para fazer backup. O Google recomenda fornecer a cada cluster pelo menos um plano de backup.
É possível criar um ou mais planos de backup para cada cluster. Talvez você queira particionar os backups do cluster por um dos seguintes motivos:
- Em vez de um backup muito grande feito em uma única hora do dia, é preciso ter vários backups menores distribuídos ao longo do dia.
- Você quer fazer backup de algumas partes do cluster com mais frequência do que de outras, como backups diários para alguns namespaces e backups por hora para outros.
Um único cluster ou máquina virtual (VM) pode pertencer a um ou mais planos de backup. Um plano de backup não pode abranger mais de um cluster. No entanto, um único plano de backup pode capturar várias VMs se elas estiverem no mesmo cluster. É necessário associar todos os recursos de backup e restauração a um nome de projeto.
Antes de começar
Para criar um plano de backup, você precisa ter o seguinte:
- O papel de identidade e acesso necessário:
- 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 de cluster de usuário (
user-cluster-backup-admin). Para mais informações, consulte Definições de papéis.
- 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 de cluster de usuário (
- 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 backup para você.
- Ao fazer backup de um cluster de usuário, anexe a ele o projeto usado para criar o plano de backup.
Criar um plano de backup
Recomendamos que você defina uma programação cron para o plano de backup. Assim, os backups serão criados automaticamente de acordo com essa programação. Também é possível fazer backup manual das suas cargas de trabalho. Para mais informações, consulte Criar um backup manual.
Crie planos de backup 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 backup.
- Na seção Detalhes do plano, conclua as etapas a seguir e clique em
Continuar:
- Na lista Cluster, selecione o cluster para fazer backup.
- Na lista Projeto, selecione o projeto.
- No campo Nome do plano de backup, insira o nome escolhido.
- (Opcional) Em Descrição do plano de backup, insira uma descrição para o plano.
- No campo Repositório de backup, selecione um repositório de backup. Os repositórios de backup são um conjunto de implementações de armazenamento de objetos.
- Clique em Próxima.
Na seção Escopo e criptografia, conclua as etapas a seguir e clique em Continuar:
Selecione um dos seguintes escopos para o plano de backup:
- Clique em Cluster inteiro para fazer backup de todos os recursos de namespace no backup.
- Clique em Namespaces selecionados no cluster para escolher os
namespaces no cluster a serem incluídos no backup.
- Clique em Editar namespace do cluster e em Adicionar namespace do cluster para inserir um namespace.
- Clique em Aplicativos protegidos selecionados neste cluster para
adicionar recursos especificando o namespace e o nome do aplicativo.
- Clique em Editar aplicativos protegidos e depois em Adicionar aplicativo protegido para inserir um Namespace e um Aplicativo protegido.
Clique em Incluir secrets para incluir recursos do Kubernetes
Secret.Clique em Incluir dados do volume permanente se quiser armazenar os dados de volume no backup. Desmarque essa caixa de seleção se quiser criar volumes vazios durante o backup.
Na seção Programação e retenção, siga estas etapas e clique em Continuar:
- Para definir uma programação, insira uma expressão usando a sintaxe cron padrão
no campo String CRON. Por exemplo, a expressão
10 3 * * *cria um backup às 3h10 todos os dias. Todos os horários são interpretados como UTC. O intervalo mínimo entre backups programados é de 10 minutos. - No campo Excluir backups após, defina o número de dias em que o backup será mantido. Quando o número de dias é atingido, o backup é excluído automaticamente.
- Defina por quantos dias os backups não podem ser excluídos.
- Para bloquear a política de retenção, clique no ícone de bloqueio para mudar o status de Desativado para Ativado.
- Para definir uma programação, insira uma expressão usando a sintaxe cron padrão
no campo String CRON. Por exemplo, a expressão
Confira os detalhes do plano de backup e clique em Criar plano.
API
Crie um recurso personalizado ClusterBackupPlan no cluster para programar backups. Um plano de backup programa backups periodicamente com base no backupSchedule.
Os recursos ClusterBackupPlan são recursos de namespace. Confira um exemplo de ClusterBackupPlan:
apiVersion: backup.gdc.goog/v1
kind: ClusterBackupPlan
metadata:
name: CLUSTER_BACKUP_PLAN
namespace: PROJECT_NAME
spec:
targetCluster:
targetClusterType: UserCluster
targetClusterName:
kind: "Cluster"
name: CLUSTER_NAME
backupSchedule:
cronSchedule: CRON_SCHEDULE
paused: BACKUP_SCHEDULE_STATUS
clusterBackupConfig:
backupScope:
selectedNamespaces:
namespaces: [NAME_SPACE]
clusterBackupRepositoryName: CLUSTER_BACKUP_REPOSITORY
includeVolumeData: VOLUME_DATA_INCLUDED
volumeStrategy: VOLUME_STRATEGY
includeSecrets: SECRETS_INCLUDED
retentionPolicy:
backupDeleteLockDays: BACKUP_DELETE_LOCK_DAYS
backupRetainDays: BACKUP_RETAIN_DAYS
description: BACKUP_PLAN_DESCRIPTION
Substitua:
CLUSTER_BACKUP_PLAN: o nome do plano de backup do cluster.PROJECT_NAME: o nome do projeto do GDC.CLUSTER_NAME: o nome do cluster para backup. O campotargetClustertem os seguintes componentes:targetClusterType: o tipo de cluster para backup, comoUserClusterouManagementAPI. Este exemplo usaUserCluster.targetClusterName: contémname, que é definido porCLUSTER_NAME.
CRON_SCHEDULE: uma programação crontab indicando quando agendar backups, como"*/30 * * * *". O intervalo mínimo entre backups programados é de 10 minutos.BACKUP_SCHEDULE_STATUS: setrue, os backups periódicos não serão programados.NAME_SPACE: uma lista de namespaces a serem incluídos no backup. O campoclusterBackupConfiginclui detalhes de configuração para backups:backupScope: indica quais recursos são armazenados em backup. O exemplo usaselectedNamespaces. Os valores possíveis são:allNamespaces: captura todos os recursos em todos os namespaces.selectedNamespaces: captura recursos na lista de namespaces especificados.selectedApplication: captura recursos definidos porprotectedApplications.
namespaces: aplicável sebackupScopeforselectedNamespaces.
CLUSTER_BACKUP_REPOSITORY: valor declusterBackupRepositoryNameemclusterBackupConfig. É o repositório de destino que armazena os backups e precisa ser importado comoReadWrite.VOLUME_DATA_INCLUDED: especifica se os dados de volume serão incluídos no backup. Por padrão, esse valor éfalse. Se você quiser incluir dados de volume no backup, defina comotrue.VOLUME_STRATEGY: o tipo de backup de volume a ser realizado. Os valores possíveis incluem:ProvisionerSpecific: usa os recursos de backup e restauração do provisionador de armazenamento subjacente. Use essa opção seincludeVolumeDatafortrue.LocalSnapshotOnly: cria uma cópia do volume em um determinado momento apenas no próprio sistema de armazenamento local.Portable: oferece uma maneira independente de armazenamento para fazer backup dos dados de volume.
SECRETS_INCLUDED: especifica se os secrets serão incluídos no backup. Por padrão, esse valor éfalse. Se você quiser incluir recursos do KubernetesSecretno backup, defina comotrue.BACKUP_DELETE_LOCK_DAYS: impede a exclusão do backup pelo número de dias especificado após a criação dele, por exemplo,10 days.BACKUP_RETAIN_DAYS: define o número total de dias para manter o backup. Após esse período, o backup é excluído automaticamente. Definir um valor muito alto pode levar ao esgotamento do armazenamento, enquanto um valor muito baixo pode aumentar o risco de perda de dados. Se não for especificado, o valor padrão será 35. As políticas de retenção não substituem as políticas de retenção do local de armazenamento nem podem exceder 90 dias.BACKUP_PLAN_DESCRIPTION: uma descrição do plano de backup.
Depois que um plano de backup é criado, os backups são criados automaticamente com a configuração especificada com base na programação de backup.
Ver um plano de backup
Confira um plano de backup 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 Selecionar projeto e escolha uma organização ou um projeto, dependendo da sua função:
- Administrador de backup de cluster de usuário: selecione uma organização para ver todos os planos de backup ou um projeto para ver todos os planos de backup em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de backup nele.
- Clique na guia Planos de backup.
- Clique em um plano de backup na lista para ver os detalhes. Os usuários com privilégios de administrador de backup do cluster de usuário podem ver todos os planos de backup na organização. Os usuários com a função "Criador de backup" podem ver todos os planos de backup no projeto selecionado.
API
Para conferir um plano de backup, use o comando kubectl get:
kubectl get clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -o yaml
Substitua:
CLUSTER_BACKUP_PLAN: o nome do plano de backup a ser visualizado.PROJECT_NAME: o nome do projeto do GDC.
Editar um plano de backup
Edite um plano de backup 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 Selecionar projeto e escolha uma organização ou um projeto, dependendo da sua função:
- Administrador de backup de cluster de usuário: selecione uma organização para ver todos os planos de backup em uma organização ou selecione um projeto para ver todos os planos de backup em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de backup dele.
- Clique na guia Planos de backup.
- Clique no nome do plano de backup que você quer editar.
- Clique na guia Configuração do plano para conferir os campos que podem ser modificados.
Clique no ícone edit Editar em Programação e retenção para editar esse recurso:
- Para atualizar uma programação, insira uma expressão usando a sintaxe cron padrão
no campo String CRON. Por exemplo, a expressão
10 3 * * *cria um backup às 3h10 todos os dias. Todos os horários são interpretados como UTC. O intervalo mínimo entre backups programados é de 10 minutos. - No campo Excluir backups após, defina o número de dias em que o backup será mantido. Quando o número de dias é atingido, o backup é excluído automaticamente.
No campo Impedir exclusão por, defina o número de dias em que os backups não podem ser excluídos.
Para bloquear a política de retenção, clique no ícone de bloqueio de Desativado para Ativado.
Clique no botão Salvar para confirmar as mudanças.
- Para atualizar uma programação, insira uma expressão usando a sintaxe cron padrão
no campo String CRON. Por exemplo, a expressão
API
Para editar um plano de backup, use o comando kubectl edit para modificar o recurso personalizado ClusterBackupPlan. Esse comando abre a configuração YAML do recurso no editor de texto padrão.
kubectl edit clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME
Substitua:
CLUSTER_BACKUP_PLAN: o nome do plano de backup a ser editado.PROJECT_NAME: o nome do projeto do GDC.
No editor, é possível modificar campos como:
spec.backupSchedule.cronSchedule: atualize a frequência de backup.spec.backupSchedule.paused: ative ou desative a programação de backup.spec.retentionPolicy.backupRetainDays: mudar por quanto tempo os backups são mantidos.spec.retentionPolicy.backupDeleteLockDays: mude o período de bloqueio de exclusão.spec.retentionPolicy.locked: bloqueie a política de retenção.spec.deactivated: desative o plano de backup. Definir esse campo como "true" impede a criação de backups e outras atualizações.
Desativar um plano de backup
Desative um plano de backup 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 Selecionar projeto e escolha uma organização ou um projeto, dependendo da sua função:
- Administrador de backup de cluster de usuário: selecione uma organização para ver todos os planos de backup ou um projeto para ver todos os planos de backup em um projeto.
- Criador de backup: selecione um projeto para conferir todos os planos de backup nele.
- Clique na guia Planos de backup.
- Clique no nome do plano de backup que você quer desativar.
- Clique no botão Desativar plano.
- Insira o nome do plano de backup que você está desativando no campo.
Clique no botão Desativar para concluir a desativação do plano de backup.
API
Para desativar um plano de backup, defina o campo deactivated como true:
kubectl patch clusterbackupplan CLUSTER_BACKUP_PLAN -n PROJECT_NAME -p '{"spec":{"deactivated":true}}' --type=merge
Substitua:
CLUSTER_BACKUP_PLAN: o nome do plano de backup a ser desativado.PROJECT_NAME: o nome do projeto do GDC.