Conecte o cluster de backup a um cluster registrado na conta de restauração para ativar o backup e a restauração de aplicações entre contas.
Como funciona
O cluster de backup se conecta a um cluster registrado na conta de restauração. O centro de backup no cluster registrado gerencia o backup e a restauração em ambas as contas.
O que é incluído no backup
|
Tipo de recurso |
Incluído no backup |
Observações |
|
Recursos do Kubernetes (StatefulSet, Deployment, pod, Service, ConfigMap, Secret, Ingress, CronJob, PersistentVolumeClaim (PVC), PersistentVolume (PV), entre outros) |
Sim |
— |
|
Volumes NAS (via Cloud Backup) |
Sim |
Não é possível fazer backup ou restaurar entre contas por meio de VPCs |
|
Volumes de disco (via Cloud Backup ou snapshot do ECS) |
Sim |
A solução de snapshot do ECS exige etapas adicionais para operação entre contas |
|
Volumes OSS |
Não |
A restauração ocorre pelo mapeamento ao bucket OSS original com o par AccessKey do cluster de backup |
|
Recursos em processo de exclusão |
Não |
— |
Pré-requisitos
Certifique-se de ter:
Cloud Backup ativado — usado para backups baseados em arquivos de volumes NAS, buckets OSS e volumes de disco locais
Um cluster de restauração executando Kubernetes 1.16 ou posterior (1,18 ou posterior para restauração de discos baseada em snapshots do ECS). Consulte Criar um cluster gerenciado ACK, Criar um cluster dedicado ACK (descontinuado) ou Criar um proxy de registro de cluster e registrar um cluster Kubernetes implantado em um data center
O cluster de restauração deve usar o plugin Container Storage Interface (CSI). Clusters que utilizam FlexVolume ou
csi-compatible-controllercom FlexVolume não são suportadosCSI 1.1.0 ou posterior instalado (necessário para backup de volumes baseado em snapshots de disco)
Instale e configure os seguintes componentes no cluster de restauração antes de executar uma tarefa de restauração:
aliyun-acr-credential-helper (componente sem senha do Container Registry): Conceda permissões e configure o
acr-configurationalb-ingress-controller (componente ALB Ingress): Configure um ALBConfig
Faturamento
O centro de backup é gratuito. No entanto, podem ser aplicadas cobranças pelos seguintes serviços:
|
Cobrança |
Quando se aplica |
Detalhes |
|
Todos os cenários de backup — o OSS armazena os arquivos yaml de backup |
Aplicam-se as tarifas padrão de armazenamento OSS |
|
|
Backups de volumes de disco usando a solução de snapshot do ECS |
A partir de 12 de outubro de 2023, 11:00 (UTC+8), o recurso de acesso instantâneo não gera mais taxas de armazenamento ou uso. Discos ESSD PL0–PL3 e ESSD AutoPL possuem acesso instantâneo ativado por padrão |
|
|
Backups de volumes NAS e backups de volumes de disco usando a solução Cloud Backup |
Não se aplica à restauração de volumes OSS |
Limitações
Ambos os clusters devem executar Kubernetes 1.16 ou posterior. Não recomendamos migrar aplicações de uma versão mais recente do Kubernetes para uma anterior.
Para restauração entre regiões, crie o cluster registrado na mesma região do cluster de restauração. O cluster de backup se conecta pela Internet; já a restauração utiliza a rede interna.
-
O centro de backup restaura recursos para uma versão de API compatível no cluster de restauração. Caso não exista versão compatível, implante o recurso manualmente. Consulte as Notas de lançamento das versões do Kubernetes suportadas pelo ACK e o Guia de Migração de APIs Descontinuadas oficial.
Deployments em um cluster Kubernetes 1.16 suportam
extensions/v1beta1,apps/v1beta1,apps/v1beta2eapps/v1. Após a migração para o Kubernetes 1.28, a versão da API do Deployment é restaurada comoapps/v1.Ingresses em um cluster Kubernetes 1.16 suportam
extensions/v1beta1enetworking.k8s.io/v1beta1. Não é possível restaurar Ingresses em clusters com Kubernetes 1.22 ou posterior.
ImportanteNo Kubernetes 1.16,
appserbac.authorization.k8s.iojá suportam a versão v1 da API. Após migrar para o Kubernetes 1.28, restaure manualmente os recursos Ingress e CronJob. O modelo do centro de backup para clusters registrados difere dos clusters ACK padrão. Ao conectar ou desconectar o cluster de backup, reinstale o componente do centro de backup no cluster de destino.
Os snapshots do ECS criados no cluster registrado pertencem à conta do cluster de backup. Para restaurar volumes de disco na conta de restauração, compartilhe os snapshots entre contas (solução de snapshot do ECS) ou utilize o Cloud Backup.
Para restaurar volumes NAS gerenciados pelo CNFS (StorageClass:
alibabacloud-cnfs-nas), crie a StorageClass primeiro.Se existir um recurso com o mesmo nome no cluster de restauração, o centro de backup o ignorará. As restaurações não são destrutivas.
Aplicações de exemplo
Estas aplicações de exemplo ilustram o comportamento de backup e restauração para cada tipo de volume.
|
Aplicação |
Tipo de volume |
PVC |
Backup de dados necessário |
Observações |
|
sts-disk |
Volume de disco |
pvc-disk |
Sim (Cloud Backup ou snapshot do ECS) |
Exige consistência de dados; suspenda operações de escrita antes do backup |
|
sts-nas |
Volume NAS |
pvc-nas |
Sim (Cloud Backup) |
Não é possível fazer backup ou restaurar entre contas via VPCs; o cluster de restauração não consegue ler os dados originais do NAS |
|
sts-oss |
Volume OSS |
pvc-oss |
Não |
Restaurado pelo mapeamento ao bucket OSS original com o par AccessKey do cluster de backup |
Para criar aplicações com diferentes tipos de volume, consulte Armazenamento - CSI.
Escolha uma solução de backup de disco
Escolha uma solução quando sua aplicação utilizar volumes de disco.
|
Solução Cloud Backup |
Solução de snapshot do ECS |
|
|
Como funciona |
Defina |
Defina |
|
Vantagens |
Sem configuração manual adicional |
Mais rápido; garante consistência de dados no mesmo disco |
|
Desvantagens |
Mais lento; não garante consistência de dados |
Etapas manuais necessárias para cada volume de disco |
|
Quando usar |
Sua aplicação não exige consistência rigorosa de dados ou você possui muitos volumes de disco |
Sua aplicação exige consistência de dados e você pode executar as etapas de compartilhamento de snapshots |
Para aplicações sem volumes de disco, utilize a solução Cloud Backup.
(Opcional) Etapa 1: Desinstalar o componente do centro de backup no cluster de backup
Ignore esta etapa se o migrate-controller não estiver instalado no cluster de backup.
Caso o centro de backup já esteja instalado no cluster de backup, desinstale-o primeiro. O modelo para clusters registrados difere dos clusters ACK padrão, e ambos não podem coexistir.
Faça login no console ACK com a conta do cluster de backup. No painel de navegação à esquerda, clique em Clusters.
Na página Clusters, clique no nome do cluster de backup. No painel de navegação à esquerda, clique em Add-ons.
Na página Add-ons, clique na aba Manage Applications.
Localize o migrate-controller e clique em Uninstall.
Na mensagem Uninstall, clique em OK.
Etapa 2: Instalar o componente do centro de backup no cluster registrado
Utilize a conta de restauração para criar um cluster registrado e conecte o cluster de backup a ele.
-
Instale o migrate-controller e conceda permissões no cluster registrado.
O cluster registrado está na mesma região do cluster de backup, portanto, nenhuma rota de rede interna OSS é necessária.
Etapa 3: Criar uma tarefa de backup no cluster registrado
Execute esta etapa no cluster registrado sob a conta de restauração, e não no cluster de backup.
Solução Cloud Backup
Escolha esta opção para uma configuração mais simples com volumes de disco ou quando sua aplicação não possuir volumes de disco.
-
Desative o recurso de snapshot do ECS.
-
Edite o ConfigMap
csdr-config:kubectl -ncsdr edit cm csdr-config Defina
enable_ecs_snapshotcomofalse. Salve e saia.-
Reinicie o controlador:
kubectl -ncsdr delete pod -l control-plane=csdr-controller
-
Se a conta de restauração não tiver um cofre de backup, crie um e associe-o ao bucket OSS
cnfs-oss-*na conta de restauração.-
Crie uma tarefa de backup para a aplicação sts-oss.
Defina Backup Volume como Disable — o sts-oss mapeia para o bucket OSS original e não precisa de backup de volume.
Selecione o namespace
oss. Se o namespace contiver outras aplicações, adicione rótulos para selecionar apenas osts-oss.Na aba Backup Records da página Application Backup, aguarde o status mudar de InProgress para Completed. Clique no nome do registro e confirme se o StatefulSet, pod, PVC, PV e Secret (contendo o par AccessKey) foram incluídos no backup.
-
Crie uma tarefa de backup para as aplicações sts-nas e sts-disk.
Defina Backup Volume como Mounted Volumes.
Com
enable_ecs_snapshotdefinido comofalse, o Cloud Backup gerencia os dados do volume de disco. Acompanhe o progresso no console do Cloud Backup em Container Backup > Backup Jobs.
Solução de snapshot do ECS
Indicado quando sua aplicação usa volumes de disco e exige consistência de dados.
-
Ative o recurso de snapshot do ECS.
-
Edite o ConfigMap
csdr-config:kubectl -ncsdr edit cm csdr-config Defina
enable_ecs_snapshotcomotrue. Salve e saia.-
Reinicie o controlador:
kubectl -ncsdr delete pod -l control-plane=csdr-controller
-
Se a conta de restauração não tiver um cofre de backup, crie um e associe-o ao bucket OSS
cnfs-oss-*na conta de restauração.-
Crie uma tarefa de backup para a aplicação sts-oss.
Defina Backup Volume como Disable.
Selecione o namespace
oss. Se o namespace contiver outras aplicações, adicione rótulos para selecionar apenas osts-oss.Na aba Backup Records, aguarde o status mudar para Completed e verifique se todos os recursos relacionados foram incluídos no backup.
-
Crie uma tarefa de backup chamada backup-nas-disk para as aplicações sts-nas e sts-disk.
Defina Backup Volume como Mounted Volumes.
Os dados do volume de disco passam por backup usando snapshots do ECS por padrão. Visualize os snapshots no console ECS em Snapshots > Disk Snapshots.
Os dados do volume NAS passam por backup usando o Cloud Backup. Acompanhe o progresso no console do Cloud Backup em Container Backup > Backup Jobs.
Etapa 4: Criar uma tarefa de restauração no cluster de restauração
As restaurações não são destrutivas. Se existir um recurso com o mesmo nome no cluster de restauração, o centro de backup o ignorará.
Comportamento de restauração de serviços:
|
Tipo de serviço |
Comportamento de restauração |
|
NodePort |
As portas são mantidas por padrão |
|
LoadBalancer com |
O HealthCheckNodePort usa uma porta aleatória por padrão. Defina |
|
LoadBalancer usando uma instância SLB existente |
O Service restaurado mantém a instância SLB original, mas todos os listeners ficam desativados. Configure os listeners manualmente no console SLB |
|
LoadBalancer gerenciado pelo cloud controller manager (CCM) |
O CCM cria novas instâncias SLB durante a restauração. Consulte Considerações para configurar um Service do tipo LoadBalancer |
Solução Cloud Backup
Use a conta do cluster de restauração para executar estas etapas.
-
Restaure a aplicação sts-oss. Consulte Restaurar aplicações e volumes.
Na página Application Backup, clique em Back up Now, selecione e inicialize o cofre de backup e aguarde a sincronização do arquivo de backup.
Selecione o arquivo de backup backup-oss e crie uma tarefa de restauração.
Verifique se o sts-oss está em execução. Use
kubectl execpara acessar o container e confirmar a consistência dos dados.
-
Restaure as aplicações sts-nas e sts-disk com conversão de StorageClass. Consulte Restaurar aplicações e volumes.
Na página Application Backup, clique em Back up Now e selecione backup-nas-disk. Para conversão de StorageClass, selecione
alicloud-diskparapvc-diskealibabacloud-cnfs-nasparapvc-nas. Oalicloud-diskassume como padrão a StorageClassalicloud-disk-topology-alltypedo plugin CSI. Também é possível usar uma StorageClass personalizada.Verifique as aplicações e os dados. No console ECS, confirme se novos discos foram criados na conta de restauração e montados nos nós corretos.
Solução de snapshot do ECS
-
Com a conta do cluster de restauração, restaure a aplicação sts-oss. Consulte Restaurar aplicações e volumes.
Na página Application Backup, clique em Back up Now, selecione e inicialize o cofre de backup e aguarde a sincronização do arquivo de backup.
Selecione o arquivo de backup backup-oss e crie uma tarefa de restauração.
Verifique se o sts-oss está em execução com
kubectl exec.
Use a conta do cluster de backup para compartilhar os snapshots de disco com a conta de restauração. No console ECS, compartilhe cada snapshot. Os snapshots do centro de backup têm o prefixo
snapshot-. Corresponda-os aos registros de backup pelo horário de criação.-
Antes de aceitar os snapshots compartilhados, registre os mapeamentos de PVC para snapshot na conta de backup. Esses mapeamentos são necessários para a restauração manual.
No console ECS, registre o mapeamento entre cada ID de snapshot e seu ID de disco correspondente.
-
No cluster de backup, consulte o PVC e o ID do disco para cada PV que usa um volume de disco:
kubectl get pv <PV-Name> -o jsonpath='{"PVC: "}{.spec.claimRef.name}{"\nNamespace: "}{.spec.claimRef.namespace}{"\nVolumeHandle: "}{.spec.csi.volumeHandle}'Saída esperada:
PVC: <disk-pvc-name> Namespace: <disk-pvc-namespace> VolumeHandle: d-2ze323ra0h2v5lxxxxxUse esses mapeamentos para vincular cada PVC ao seu ID de snapshot correspondente.
Use a conta do cluster de restauração para fazer login no console Resource Management e aceitar os snapshots compartilhados. Os nomes dos snapshots permanecem os mesmos, mas os IDs mudam. Utilize os nomes e os mapeamentos da etapa 3 para associar cada PVC ao novo ID de snapshot.
-
Restaure manualmente os volumes de disco no cluster de restauração.
Use provisionamento estático para criar um VolumeSnapshotContent e um VolumeSnapshot no cluster de restauração. Consulte Criar um snapshot de um volume de disco. Crie o VolumeSnapshot no mesmo namespace do PVC de destino. Defina
snapshotHandleno VolumeSnapshotContent como o novo ID de snapshot.Crie um PVC com o mesmo nome do original, referenciando o VolumeSnapshot. Consulte a etapa 6 em Criar um snapshot de um volume de disco. O novo PVC corresponde à configuração original com um parâmetro
dataSourceadicional apontando para o VolumeSnapshot.
-
Restaure as aplicações sts-nas e sts-disk. Consulte Restaurar aplicações e volumes. O centro de backup ignora automaticamente os volumes do sts-disk porque eles já foram restaurados na etapa 5. A tarefa de restauração monta o PVC de mesmo nome na aplicação.
Na página Application Backup, clique em Back up Now e selecione backup-nas-disk. Sem conversão de StorageClass, os volumes são restaurados com a StorageClass original. Certifique-se de que essa StorageClass exista no cluster de restauração.
No console ECS, confirme se novos discos foram criados na conta de restauração e montados nos nós corretos.
(Opcional) Etapa 5: Desconectar o cluster de backup e reimplantar o centro de backup
Após concluir a migração entre contas:
Se o backup ou a restauração entre contas não for mais necessário, desconecte o cluster de backup do cluster registrado.
Para continuar usando o centro de backup no cluster de backup, desinstale o componente do cluster registrado e reinstale-o no cluster de backup.