Fazer backup do Serviço Kubernetes do Azure ao usar o Backup do Azure
Este artigo descreve como configurar e fazer backup do Serviço Kubernetes do Azure (AKS).
Você pode usar o Backup do Azure para fazer backup de clusters AKS (recursos de cluster e volumes persistentes anexados ao cluster) usando a extensão de backup, que deve ser instalada no cluster. O cofre de backup se comunica com o cluster por meio da extensão de backup para executar operações de backup e restauração.
Pré-requisitos
Coisas a garantir antes de configurar o backup para o cluster AKS:
- Atualmente, o AKS Backup suporta apenas volumes persistentes baseados no Armazenamento em Disco do Azure habilitados pelo driver CSI. Os backups são armazenados apenas em um armazenamento de dados operacional (os dados de backup são armazenados em seu locatário e não são movidos para um cofre). O cofre de backup e o cluster AKS devem estar na mesma região.
- O AKS Backup usa um contêiner de blob e um grupo de recursos para armazenar os backups. O contêiner de blob contém os recursos do cluster AKS. Os instantâneos de volume persistentes são armazenados no grupo de recursos. O cluster AKS e os locais de armazenamento devem estar na mesma região. Saiba como criar um contêiner de blob.
- Atualmente, o AKS Backup suporta backups uma vez por dia. Ele também suporta backups mais frequentes (em intervalos de 4 horas, 8 horas e 12 horas) por dia. Esta solução permite-lhe reter os seus dados para restauro até 360 dias. Saiba como criar uma política de backup.
- Você precisa instalar a extensão Backup para configurar operações de backup e restauração para um cluster AKS. Saiba mais sobre a extensão de backup.
- Certifique-se de que tem
Microsoft.KubernetesConfiguration
,Microsoft.DataProtection
eMicrosoft.ContainerService
registou-se para a sua subscrição antes de iniciar a configuração de cópia de segurança e as operações de restauro. - Certifique-se de completar todos os pré-requisitos antes de iniciar uma operação de backup ou restauração para o AKS Backup.
Para obter mais informações sobre cenários, limitações e disponibilidade suportados, consulte a matriz de suporte.
Criar um cofre de backup
Um cofre de backup é uma entidade de gerenciamento que armazena pontos de recuperação tratados ao longo do tempo. Um cofre de backup também fornece uma interface para fazer as operações de backup. As operações incluem fazer backups sob demanda, fazer restaurações e criar políticas de backup. O AKS Backup requer que o cofre de backup e o cluster AKS estejam na mesma região. Saiba como criar um cofre de backup.
Nota
Um cofre de backup é um novo recurso usado para fazer backup de fontes de dados recém-suportadas. Um cofre de backup é diferente de um cofre de serviços de recuperação.
Se quiser usar o Backup do Azure para proteger seus clusters AKS de qualquer interrupção regional, você pode habilitar a Restauração entre Regiões. Para habilitar a Restauração entre Regiões, você precisa:
Defina o parâmetro Redundância de armazenamento de backup como Geo-Redundant durante a criação do vault. Depois que a redundância de um cofre estiver definida, você não poderá desativá-la.
Defina o parâmetro Cross Region Restore em Propriedades do Vault como Enabled. Depois que esse parâmetro estiver habilitado, você não poderá desativá-lo.
Crie uma instância de backup usando uma política de backup com duração de retenção definida para armazenamento de dados padrão do Vault. Cada ponto de recuperação armazenado neste armazenamento de dados estará na região secundária.
Criar uma política de backup
Antes de configurar backups, você precisa criar uma política de backup que defina a frequência dos backups e a duração da retenção dos backups.
Para criar uma política de cópias de segurança:
Vá para o cofre de backup que você criou e selecione Gerenciar>políticas>de backup Adicionar.
Insira um nome para a política de backup.
Para Tipo de fonte de dados, selecione Serviços do Kubernetes.
Na guia Agendar + retenção, defina o agendamento de backup.
- Freqüência de backup: selecione a freqüência de backup (por hora ou diariamente) e, em seguida, escolha a duração de retenção para os backups.
- Configuração de retenção: uma nova política de backup tem a regra padrão definida por padrão. Você pode editar essa regra e não pode excluí-la. A regra padrão define a duração da retenção para todos os backups de camada operacional feitos. Você também pode criar regras de retenção adicionais para armazenar backups por um período mais longo que são feitos diariamente ou semanalmente.
Você também pode criar regras de retenção adicionais para armazenar backups por um período mais longo que são feitos diariamente ou semanalmente.
Nota
- Além do primeiro backup bem-sucedido do dia, você pode definir as regras de retenção para o primeiro backup bem-sucedido da semana, do mês e do ano. Em termos de prioridade, a ordem é ano, mês, semana e dia.
- Você pode copiar backups na região secundária (região emparelhada do Azure) armazenados na camada do Vault, que pode ser usada para restaurar clusters AKS para uma região secundária quando a região primária não estiver disponível. Para optar por esse recurso, use um cofre com redundância geográfica com a restauração entre regiões habilitada.
Quando as configurações de frequência e retenção de backup estiverem definidas, selecione Avançar.
No separador Rever + criar, reveja as informações e, em seguida, selecione Criar.
Instalar a extensão de backup e configurar o backup
Você pode usar o AKS Backup para fazer backup de um cluster inteiro ou de recursos de cluster específicos que são implantados no cluster. Você também pode proteger um cluster várias vezes de acordo com os requisitos de programação e retenção ou requisitos de segurança do aplicativo implantado.
Nota
Para configurar várias instâncias de backup para o mesmo cluster AKS:
- Configure o backup no mesmo cofre de backup, mas usando uma política de backup diferente.
- Configure o backup em um cofre de backup diferente.
Instalar a extensão de backup
Para configurar backups para um cluster AKS:
No portal do Azure, vá para o cluster AKS do qual você deseja fazer backup.
No menu de serviço, em Configurações, selecione Backup.
Para preparar o cluster AKS para backup ou restauração, selecione Instalar extensão para instalar a extensão de backup no cluster.
Forneça uma conta de armazenamento e um contêiner de blob como entrada.
Seus backups de cluster AKS são armazenados neste contêiner de blob. A conta de armazenamento deve estar na mesma região e assinatura que o cluster.
Selecione Seguinte. Reveja os detalhes da instalação da extensão e, em seguida, selecione Criar.
A instalação da extensão é iniciada.
Configurar a cópia de segurança
Quando a extensão de backup for instalada com êxito, selecione Configurar backup.
Selecione o cofre de backup que você criou anteriormente. O cofre de backup deve ter o Acesso Confiável habilitado para o backup do cluster AKS. Para habilitar o Acesso Confiável, selecione Conceder Permissão. Se já estiver ativado, selecione Seguinte.
Na guia Política de backup, selecione a política de backup, que define o agendamento de backups e seu período de retenção, e selecione Avançar.
Na guia Fontes de dados, selecione Adicionar/editar para definir a configuração da instância de backup.
No painel Selecionar Recursos para Backup, defina os recursos de cluster dos quais deseja fazer backup.
Saiba mais sobre configurações de backup.
Para o grupo de recursos Instantâneo, selecione o grupo de recursos a ser usado para armazenar os instantâneos de volume persistente (Armazenamento em Disco do Azure) e selecione Validar.
Quando a validação estiver concluída, se as funções necessárias não forem atribuídas ao cofre no grupo de recursos de instantâneo, um erro será exibido:
Para resolver o erro, em Nome da fonte de dados, marque a caixa de seleção da fonte de dados e selecione Atribuir funções ausentes.
Quando a atribuição de função for concluída, selecione Avançar>Configurar backup.
Configurações de backup
O Backup do Azure para AKS permite que você defina o limite do aplicativo dentro do cluster AKS do qual você deseja fazer backup. Você pode usar os filtros disponíveis nas configurações de backup para escolher os recursos para fazer backup e também para executar ganchos personalizados. A configuração de backup definida é referenciada pelo valor de Nome da instância de backup. Os filtros abaixo estão disponíveis para definir o limite do aplicativo:
Selecione Selecionar namespaces para backup. Você pode selecionar Tudo para fazer backup de todos os namespaces existentes e futuros no cluster ou pode selecionar namespaces específicos para backup.
Os namespaces a seguir são ignorados das configurações de backup:
kube-system
,kube-node-lease
ekube-public
.Expanda Configurações de Recursos Adicionais para ver os filtros que você pode usar para escolher recursos de cluster para backup. Você pode optar por fazer backup de recursos com base nas seguintes categorias:
- Etiquetas: Pode filtrar recursos AKS utilizando etiquetas que atribui a tipos de recursos. Insira rótulos na forma de pares chave/valor. Você pode combinar vários rótulos usando
AND
lógica. Por exemplo, se você inserir os rótulosenv=prod;tier!=web
, o processo selecionará recursos que têm um rótulo com a chave e oprod
env
valor, e um rótulo com a chave para atier
qual o valor nãoweb
é . - Grupos de API: Você também pode incluir recursos fornecendo o grupo e o tipo de API do AKS. Por exemplo, você pode escolher recursos de backup do AKS, como Implantações. Você pode acessar a lista de grupos de API definidos pelo Kubernetes aqui.
- Outras opções: você pode habilitar ou desabilitar o backup para recursos com escopo de cluster, volumes persistentes e segredos. Os recursos com escopo de cluster e os volumes persistentes são habilitados por padrão.
- Etiquetas: Pode filtrar recursos AKS utilizando etiquetas que atribui a tipos de recursos. Insira rótulos na forma de pares chave/valor. Você pode combinar vários rótulos usando
Nota
Você deve adicionar os rótulos a cada arquivo YAML implantado e para backup. Isso inclui recursos com escopo de namespace, como declarações de volume persistentes, e recursos com escopo de cluster, como volumes persistentes.
Use ganchos durante o AKS Backup
Esta seção descreve como usar um gancho de backup para criar um instantâneo consistente com o aplicativo do cluster AKS com o MySQL implantado (um volume persistente que contém a instância do MySQL).
Você pode usar ganchos personalizados no backup do AKS para realizar instantâneos de volumes consistentes com o aplicativo. Os volumes são usados para bancos de dados que são implantados como cargas de trabalho em contêineres.
Usando um gancho de backup, você pode definir os comandos para congelar e descongelar um pod MySQL para que um instantâneo do aplicativo do volume possa ser tirado. Em seguida, a extensão Backup orquestra as etapas de execução dos comandos nos ganchos e tira o instantâneo do volume.
Um instantâneo consistente com o aplicativo de um volume com o MySQL implantado é feito executando as seguintes ações:
- O pod que executa o MySQL é congelado para que nenhuma nova transação seja realizada no banco de dados.
- Um instantâneo é tirado do volume como backup.
- O pod que executa o MySQL é descongelado para que as transações possam ser feitas novamente no banco de dados.
Para habilitar um gancho de backup como parte do fluxo de configuração de backup para fazer backup do MySQL:
Escreva o recurso personalizado para gancho de backup com comandos para congelar e descongelar um pod PostgreSQL.
Você também pode usar o seguinte exemplo de script YAML postgresbackuphook.yaml, que tem comandos predefinidos:
apiVersion: clusterbackup.dataprotection.microsoft.com/v1alpha1 kind: BackupHook metadata: # BackupHook CR Name and Namespace name: bkphookname0 namespace: default spec: # BackupHook Name. This is the name of the hook that will be executed during backup. # compulsory name: hook1 # Namespaces where this hook will be executed. includedNamespaces: - hrweb excludedNamespaces: labelSelector: # PreHooks is a list of BackupResourceHooks to execute prior to backing up an item. preHooks: - exec: command: - /sbin/fsfreeze - --freeze - /var/lib/postgresql/data container: webcontainer onError: Continue # PostHooks is a list of BackupResourceHooks to execute after backing up an item. postHooks: - exec: container: webcontainer command: - /sbin/fsfreeze - --unfreeze onError: Fail timeout: 10s
Antes de configurar um backup, você deve implantar o recurso personalizado do gancho de backup no cluster AKS.
Para implantar o script, execute o seguinte comando:
kubectl apply -f mysqlbackuphook.yaml
Quando a implantação estiver concluída, você poderá configurar backups para o cluster AKS.
Nota
Como parte de uma configuração de backup, você deve fornecer o nome do recurso personalizado e o namespace no qual o recurso é implantado como entrada.