Nesta página, descrevemos como realizar um backup entre projetos no Google Kubernetes Engine (GKE) usando o serviço Backup para GKE.
Visão geral
Com os backups entre projetos, é possível desacoplar o ciclo de vida do projeto de backup do projeto de cluster. É possível ter acesso a backups controlados separadamente em um projeto diferente do projeto de cluster.
Limitações
Não é possível migrar planos de backup atuais para fazer backups entre projetos.
Preços
Para mais detalhes sobre preços, consulte Preços de backups e restaurações entre projetos.
Antes de começar
-
Antes de começar, veja se você realizou as seguintes tarefas:
- Ative a API Google Kubernetes Engine. Ativar a API Google Kubernetes Engine
- Se você quiser usar a CLI do Google Cloud para essa tarefa,
instale e, em seguida,
inicialize a
CLI gcloud. Se você instalou a gcloud CLI anteriormente, instale a versão
mais recente executando
gcloud components update
.
Ative a API Backup para GKE no projeto que contém o cluster que você quer fazer backup e no projeto em que você quer armazenar o backup. Para mais informações, consulte Ativar a Backup para GKE GKE.
Ative o complemento Backup para GKE no cluster que você quer fazer backup. Para mais informações, consulte Ativar o Backup para GKE para um cluster.
Funções exigidas
Para ter as permissões necessárias para criar e gerenciar um backup entre projetos,
peça ao administrador para conceder a você o papel do IAM de
Administrador de backup do Backup para GKE (roles/gkebackup.backupAdmin
), que é um subconjunto do papel do IAM de Administrador do Backup para GKE (roles/gkebackup.admin
) no seu projeto.
Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.
Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.
Configurar contas de serviço
Se necessário, crie contas de serviço por projeto para realizar operações nos seus projetos.
Usando a Google Cloud CLI, execute os comandos a seguir para configurar uma conta de serviço:
Execute o comando
gcloud beta services identity create
para criar uma conta de serviço:gcloud beta services identity create \ --service=gkebackup.googleapis.com \ --project=CLUSTER_PROJECT_ID gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \ --member=serviceAccount:service-CLUSTER_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent \ gcloud beta services identity create \ --service=gkebackup.googleapis.com \ --project=BACKUP_PROJECT_ID gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \ --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent
Substitua:
CLUSTER_PROJECT_ID
: o nome alfanumérico do projeto Google Cloud que você quer criar. Por exemplo,cluster-project-id
.CLUSTER_PROJECT_NUMBER
: o identificador numérico exclusivo do projeto Google Cloud . Por exemplo,123456789012
.BACKUP_PROJECT_ID
: o nome alfanumérico do projeto Google Cloud em que o backup será armazenado. Por exemplo,backup-project-id
.BACKUP_PROJECT_NUMBER
: o identificador numérico exclusivo do projeto em que o backup será armazenado. Por exemplo,123456789012
.
Permita que a conta de serviço do projeto de backup faça backups no projeto do cluster executando o comando
gcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding CLUSTER_PROJECT_ID \ --member=serviceAccount:service-BACKUP_PROJECT_NUMBER@gcp-sa-gkebackup.iam.gserviceaccount.com \ --role=roles/gkebackup.serviceAgent
Substitua:
CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud . Por exemplo,cluster-project-id
.BACKUP_PROJECT_NUMBER
: o identificador numérico exclusivo do projeto em que o backup será armazenado. Por exemplo,123456789012
.
Permita que o agente do projeto de cluster acesse
gkebackup.googleapis.com
no projeto de backup executando o comandogcloud projects add-iam-policy-binding
:gcloud projects add-iam-policy-binding BACKUP_PROJECT_ID \ --member serviceAccount:service-CLUSTER_PROJECT_NUMBER@container-engine-robot.iam.gserviceaccount.com \ --role "roles/gkebackup.crossProjectServiceAgent"
Substitua:
BACKUP_PROJECT_ID
: o nome alfanumérico do projeto Google Cloud em que o backup será armazenado. Por exemplo,backup-project-id
.CLUSTER_PROJECT_NUMBER
: o identificador numérico exclusivo do projeto Google Cloud . Por exemplo,123456789012
.
Criar um canal de backup
Depois de configurar as contas de serviço, crie um canal de backup no mesmo projeto e região do cluster que você quer fazer backup. Depois de criar um canal de backup, é possível fazer backup dos clusters no projeto e na região para o projeto de destino.
gcloud
Para criar um canal de backup, execute o comando
gcloud beta container backup-restore backup-channels create
usando a Google Cloud CLI:
gcloud beta container backup-restore backup-channels create BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION \
--destination-project=projects/BACKUP_PROJECT_NUMBER
Substitua:
BACKUP_CHANNEL_NAME
: o nome do canal de backup que você quer criar. Por exemplo,my-backup-channel-name
.CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo,cluster-project-id
.CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.BACKUP_PROJECT_NUMBER
: o identificador numérico exclusivo do projeto em que o backup será armazenado.
Console
Para criar um canal de backup no console Google Cloud , siga estas instruções:
No console do Google Cloud , acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Clique na guia Canais de backup.
Na guia Canais de backup, clique em Criar um canal de backup.
No campo Projeto do cluster, verifique se você selecionou o projeto correto.
No menu Região, selecione a região em que seus clusters estão localizados.
No campo Projeto de backup, selecione o projeto em que você quer permitir backups.
No campo Nome do canal de backup, insira um nome para o canal de backup.
Opcional: no campo Descrição do canal de backup, insira uma breve descrição para o canal de backup.
Clique em Próxima.
Valide as permissões da conta de serviço nos projetos de cluster e backup.
Clique em Criar.
Criar um plano de backup
Depois de criar um canal de backup, crie o plano de backup. Se o
cluster que está sendo armazenado em backup estiver em um projeto diferente, o plano de backup será
vinculado automaticamente a um canal de backup existente. O campo backup_channel
no plano de backup mostra o canal a que ele está vinculado.
Antes de começar
Antes de criar um plano de backup, consulte Planejar um conjunto de backups.
Criar um plano de backup
Para criar um plano de backup no projeto de backup usando o console Google Cloud , siga estas instruções:
No console do Google Cloud , acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Abra o projeto de backup em que você quer criar o plano.
Clique em Criar um plano de backup.
Marque a caixa de seleção Configurar backups entre projetos.
No campo Projeto do cluster, escolha o projeto que contém o cluster de origem.
No menu Cluster, selecione a região do cluster.
No campo Nome do plano de backup, insira um nome para o plano.
No campo Projeto de backup, insira o nome do projeto em que você quer armazenar os backups.
No campo Região, insira o local em que os backups serão armazenados. Se nenhum canal de backup for encontrado, clique em Criar canal de backup, siga as instruções para criar um canal de backup e clique em Criar.
Clique em Ver detalhes do canal de backup.
Clique em Validar permissões.
Conclua as etapas restantes conforme descrito em Criar um plano de backup.
Clique em Criar plano.
Ver um canal de backup
Siga as instruções nas seções abaixo para ver os canais de backup.
Ver todos os canais de backup em um projeto e uma região
gcloud
Para conferir todos os canais de backup em um projeto e uma região, execute
o comando gcloud beta container backup-restore backup-channels list
usando a Google Cloud CLI:
gcloud beta container backup-restore backup-channels list \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
Substitua:
CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo,cluster-project-id
.CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.
Console
Para conferir todos os canais de backup em um projeto e uma região no consoleGoogle Cloud , siga estas instruções:
No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Clique na guia Canais de backup.
Use o menu de projeto e região para filtrar a lista de canais de backup.
A lista filtrada mostra todos os canais de backup no projeto e na região selecionados.
Conferir detalhes de um canal de backup
gcloud
Para conferir os detalhes de um canal de backup, execute o comando
gcloud beta container backup-restore backup-channels describe
usando a Google Cloud CLI:
gcloud beta container backup-restore backup-channels describe BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
Substitua:
BACKUP_CHANNEL_NAME
: o nome do canal de backup que você quer ver. Por exemplo,my-backup-channel-name
.CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo,cluster-project-id
.CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.
Console
Para conferir os detalhes de um canal de backup no console Google Cloud , siga estas instruções:
No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Clique na guia Canais de backup.
Use o menu de projeto e região para filtrar a lista de canais de backup.
Clique no nome do canal de backup que você quer visualizar. Uma página com os detalhes desse canal de backup será aberta.
Conferir os planos de backup vinculados a um canal de backup
Para conferir os planos de backup vinculados a um canal
de backup, execute o comando gcloud beta container backup-restore backup-plan-bindings list
usando a Google Cloud CLI:
gcloud beta container backup-restore backup-plan-bindings list \
--backup-channel=BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
Substitua:
BACKUP_CHANNEL_NAME
: o nome do canal de backup que você quer visualizar. Por exemplo,my-backup-channel-name
.CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projeto Google Cloud em que o cluster está localizado. Exemplo:cluster-project-id
CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.
Gerenciar canais de backup
As seções a seguir descrevem como gerenciar canais de backup depois de criá-los.
Atualizar um canal de backup
Use as instruções a seguir para atualizar um canal de backup. Só é possível modificar a descrição de um canal de backup. Todos os outros campos não podem ser modificados.
gcloud
Para atualizar a descrição de um canal de backup, execute o
comando gcloud beta container backup-restore backup-channels update
usando a Google Cloud CLI:
gcloud beta container backup-restore backup-channels update BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION \
--description=DESCRIPTION
Substitua:
BACKUP_CHANNEL_NAME
: o nome do canal de backup que você quer atualizar. Por exemplo,my-backup-channel-name
.CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo,cluster-project-id
.CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.DESCRIPTION
: a descrição que você quer atualizar.
Console
Para atualizar um canal de backup no console Google Cloud , siga estas instruções:
No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Clique na guia Canais de backup.
Na página Canais de backup, clique no canal que você quer atualizar. Só é possível atualizar a descrição de um canal de backup existente. Todos os outros campos não podem ser modificados.
A página Detalhes do canal de backup é exibida.
Clique em Validar permissões.
Na seção Detalhes do canal de backup, clique no ícone
Editar descrição.A caixa de diálogo Editar descrição é exibida.
No campo Descrição, insira a descrição atualizada e clique em Salvar alterações.
Excluir um canal de backup
Só é possível excluir um canal de backup se ele não tiver planos de backup ativos. Se houver planos de backup ativos vinculados a ele, primeiro desative ou exclua esses planos antes de excluir o canal de backup.
gcloud
Para excluir um canal de backup, execute o comando
gcloud beta container backup-restore backup-channels delete
usando a
Google Cloud CLI:
gcloud beta container backup-restore backup-channels delete BACKUP_CHANNEL_NAME \
--project=CLUSTER_PROJECT_ID \
--location=CLUSTER_LOCATION
Substitua:
BACKUP_CHANNEL_NAME
: o nome do canal de backup que você quer excluir. Por exemplo,my-backup-channel-name
.CLUSTER_PROJECT_ID
: o nome alfanumérico do seu projetoGoogle Cloud em que o cluster está localizado. Por exemplo,cluster-project-id
.CLUSTER_LOCATION
: a região em que o cluster está localizado. Por exemplo,us-central1
.
Console
Para excluir um canal de backup no console Google Cloud , use as instruções a seguir:
No console Google Cloud do projeto de cluster, acesse a página Google Kubernetes Engine.
No menu Gerenciamento de recursos, clique em Backup para GKE.
Clique na guia Canais de backup.
Na página Canais de backup, clique no canal que você quer excluir.
Clique em Excluir canal.
Uma caixa de diálogo vai aparecer pedindo que você confirme a exclusão do canal de backup.
No campo Nome do canal de backup, insira o nome do canal de backup para confirmar a exclusão.
Clique em Confirmar.
A seguir
Saiba como fazer uma restauração entre projetos.
Saiba mais sobre como planejar um conjunto de restaurações.