Fazer backup do Serviço de Kubernetes do Azure usando o Backup do Azure

Este artigo descreve como configurar o AKS (Serviço de Kubernetes do Azure) e fazer backup dele.

Você pode usar o Backup do Azure para fazer backup de clusters do AKS (recursos de cluster e volumes persistentes anexados ao cluster) usando uma extensão de Backup, que precisa 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.

Observação

O backup protegido e a Restauração Entre Regiões para AKS usando o Backup do Azure estão atualmente em versão prévia.

Antes de começar

  • No momento, o backup do AKS dá suporte apenas a volumes persistentes baseados no Armazenamento em Disco do Azure (habilitados pelo driver CSI). Os backups são armazenados somente 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 do AKS devem estar na mesma região.

  • O backup do AKS usa um contêiner de blob e um grupo de recursos para armazenar os backups. O contêiner de blob contém os recursos de cluster do AKS. Os instantâneos de volume persistente são armazenados no grupo de recursos. O cluster do AKS e os locais de armazenamento precisam estar na mesma região. Saiba como criar um contêiner de blob.

  • No momento, o backup do AKS dá suporte ao backup uma vez por dia. Ele também dá suporte a backups mais frequentes (em intervalos de 4 horas, 8 horas e 12 horas) por dia. Essa solução permite que você mantenha seus dados para restauração por até 360 dias. Saiba como criar uma política de backup.

  • Você precisa instalar a extensão de backup para configurar operações de backup e restauração para um cluster do AKS. Saiba mais sobre a extensão de Backup.

  • Certifique-se de que Microsoft.KubernetesConfiguration, Microsoft.DataProtection e o sinalizador de recurso TrustedAccessPreview em Microsoft.ContainerService estejam registrados na sua assinatura antes de iniciar as operações de configuração e restauração de backup.

  • Verifique se você executou todos os pré-requisitos antes de iniciar uma operação de backup ou restauração para o backup do AKS.

Para saber mais sobre cenários com suporte, as limitações e a disponibilidade, confira 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 backup do AKS requer que o cofre de backup e o cluster do AKS estejam na mesma região. Saiba como criar um cofre de backup.

Observação

Um cofre de backup é um novo recurso usado para fazer backup de fontes de dados com suporte recente. Um cofre de Backup é diferente de um cofre dos Serviços de Recuperação.

Se você quiser usar o Backup do Azure para proteger seus clusters do AKS contra qualquer interrupção regional:

  1. Defina o parâmetro de Redundância de armazenamento de backup como Globalmente redundante durante a criação do cofre. Depois que a redundância de um cofre for definida, você não poderá desabilitá-la.

    Screenshot shows how to enable the Backup Storage Redundance parameter.

  2. Defina o parâmetro Restauração entre regiões em Propriedades do cofre como Habilitado. Depois que esse parâmetro estiver habilitado, você não poderá desabilitá-lo.

    Screenshot shows how to enable the Cross Region Restore parameter.

  3. Crie uma Instância de Backup usando uma Política de Backup com a duração de retenção definida para armazenamento de dados padrão do Cofre. Cada ponto de recuperação armazenado nesse armazenamento de dados estará na região secundária.

    Observação

    O armazenamento de dados padrão do Cofre está atualmente em versão prévia.

Criar uma política de backup

Antes de configurar backups, você precisa criar uma política de backup que defina a frequência e a duração de retenção dos backups.

Você também pode criar uma política de backup ao configurar o backup.

Para criar uma política de backup:

  1. Acesse o Centro de Backup e selecione Política para criar uma política de backup.

    Screenshot that shows how to start creating a backup policy.

    Como alternativa, vá até Centro de Backup>Políticas de backup>Adicionar.

  2. Para Tipo de fonte de dados, selecione Serviço do Kubernetes e continue.

    Screenshot that shows selecting the datasource type.

  3. Insira um nome para a política de backup (por exemplo, Política Padrão) e selecione o cofre de Backup (o novo cofre de backup criado) em que a política precisa ser criada.

    Screenshot that shows providing the backup policy name.

  4. Na guia Agendamento + Retenção, defina a frequência dos backups e por quanto tempo eles precisam ser retidos na camada Operacional e Cofre (também chamada de armazenamento de dados).

    Frequência de backup: Selecione a frequência de backup (por hora ou diariamente) e, em seguida, escolha a duração da retenção dos backups.

    Screenshot that shows selection of backup frequency.

    Configuração de retenção: uma nova política de backup tem duas regras de retenção.

    Screenshot that shows selection of retention period.

    Você também pode criar regras de retenção adicionais para armazenar backups por uma duração mais longa, que são realizados diariamente ou semanalmente.

    • Padrão: essa regra define a duração padrão da retenção para todos os backups de camada operacional realizados. Você só pode editar essa regra e não pode excluí-la.

    • Primeiro backup bem-sucedido feito todos os dias: além da regra padrão, todo primeiro backup bem-sucedido do dia pode ser retido no armazenamento de dados operacional e no armazenamento padrão do Cofre. Você pode editar e excluir essa regra (se quiser reter backups no armazenamento de dados operacional).

      Screenshot that shows the retention configuration for Vault Tier and Operational Tier.

    Você também pode definir regras semelhantes para o Primeiro backup bem-sucedido feito a cada semana, mês e ano.

    Observação

    • 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, mês e ano. Em termos de prioridade, a ordem é ano, mês, semana e dia.
    • O armazenamento de dados padrão do Cofre está atualmente em versão prévia. Se você não quiser usar o recurso, edite a regra de retenção e desmarque a caixa de seleção ao lado do armazenamento de dados padrão do Cofre.
    • Os backups armazenados na Camada do Cofre também podem ser copiados na região secundária (região emparelhada do Azure) que você pode usar para restaurar clusters do 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 Restauração Entre Regiões habilitada.
  5. Quando a frequência de backup e as configurações de retenção estiverem configuradas, selecione Avançar.

    Screenshot that shows the completion of a backup policy creation.

  6. Na guia Examinar + criar, examine as informações e selecione Criar.

Configurar backups

Você pode usar o backup do AKS para fazer backup de um cluster inteiro ou de recursos de cluster específicos implantados no cluster. Você também pode proteger um cluster várias vezes de acordo com os requisitos de agendamento e retenção dos aplicativos implantados ou requisitos de segurança.

Observação

Para configurar várias instâncias de backup para o mesmo cluster do 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.

Para configurar backups para o cluster do AKS:

  1. No portal do Azure, vá para o cluster do AKS que você deseja fazer backup.

  2. No menu de recursos, selecione Backup e, em seguida, selecione Configurar Backup.

  3. Para preparar o cluster do AKS para backup ou restauração, selecione Instalar Extensão para instalar a extensão de Backup no cluster.

  4. Forneça uma conta de armazenamento e um contêiner de blob como entrada.

    Os backups de cluster do AKS são armazenados nesse contêiner de blob. A conta de armazenamento deve estar na mesma região e assinatura do cluster.

    Selecione Avançar.

    Screenshot that shows how to add storage and blob details for backup.

  5. Examine os detalhes de instalação da extensão e selecione Criar.

    A instalação da extensão irá começar.

    Screenshot that shows how to review and install the Backup extension.

  6. Quando a extensão de Backup tiver sido instalada com êxito, selecione Configurar o Backup para começar a configurar backups para o cluster do AKS.

    Você também pode executar essa ação no Centro de Backup.

    Screenshot that shows the selection of Configure Backup.

  7. Selecione o cofre de Backup.

    Screenshot that shows how to choose a vault.

    O cofre de Backup deve ter Acesso Confiável habilitado para o backup do cluster do AKS. Para habilitar o Acesso Confiável, selecione Conceder Permissão. Se ele já estiver habilitado, selecione Avançar.

    Screenshot that shows how to proceed to the next step after granting permission.

    Observação

    • Antes de habilitar o Acesso Confiável, habilite o sinalizador de recurso TrustedAccessPreview para o provedor de recursos Microsoft.ContainerServices na assinatura.
    • Se o cluster do AKS não tiver a extensão de Backup instalada, você poderá executar a etapa de instalação que configura o backup.
  8. Selecione a política de backup, que define o agendamento para backups e seu período de retenção. Em seguida, selecione Avançar.

    Screenshot that shows how to choose a backup policy.

  9. Na guia Fontes de Dados selecione Adicionar/Editar para definir a configuração da instância de backup.

    Screenshot that shows how to define the Backup Instance Configuration.

  10. No painel Selecionar Recursos para Backup, defina os recursos de cluster que você deseja fazer backup.

    Saiba mais sobre configurações de backup.

    Screenshot that shows how to define the cluster resources for backup.

  11. Para Grupo de recursos de instantâneo, selecione o grupo de recursos a ser usado para armazenar os instantâneos de volume persistente (Armazenamento em Disco do Azure). Em seguida, selecione Validar.

    Screenshot that shows how to validate the snapshot resource group.

  12. Quando a validação for concluída, se as funções necessárias não forem atribuídas ao cofre no grupo de recursos de instantâneo, será exibido um erro:

    Screenshot that shows a validation error when required permissions aren't assigned.

  13. Para resolver o erro, em Nome da fonte de dados, selecione a fonte de dados e, em seguida, selecione Atribuir funções ausentes.

    Screenshot that shows how to start assigning roles.

    A captura de tela a seguir mostra a lista de funções que você pode selecionar:

    Screenshot that shows how to select missing roles.

  14. Quando a atribuição de função estiver concluída, selecione Próximo.

    Screenshot that shows how to proceed to the backup configuration.

  15. Selecione Configurar backup.

  16. Quando a configuração estiver concluída, selecione Próximo.

    Screenshot that shows how to finish backup configuration.

    A instância de backup será criada quando a configuração de backup estiver concluída.

    Screenshot that shows the list of created backup instances.

    Screenshot that shows the backup instance details.

Configurações de backup

Como parte da capacidade de backup do AKS, você pode fazer backup de todos os recursos de cluster ou de recursos específicos. Você pode usar os filtros disponíveis para a configuração de backup para escolher os recursos a serem incluídos no backup. As configurações de backup definidas são referenciadas pelos valores de Nome da Instância de Backup. Você pode usar as seguintes opções para escolher os valores dos Namespaces para backup:

  • Todos (incluindo Namespaces futuros): faz backup de todos os valores atuais e futuros dos Namespaces quando os recursos de cluster subjacentes estiverem armazenados em backup.

  • Escolher na lista: selecione os valores dos Namespaces específicos no cluster do AKS que serão incluídos no backup.

    Para selecionar recursos de cluster específicos para fazer backup, você pode usar os rótulos anexados aos recursos para incluí-los no backup. Somente os recursos que têm os rótulos que você inseriu serão armazenados em backup. Você pode usar vários rótulos.

    Observação

    Você deve adicionar os rótulos a cada arquivo YAML que for implantado e que será feito o backup. Isso inclui recursos com escopo de namespace, como declarações de volume persistente, e recursos com escopo de cluster, como volumes persistentes.

    Se você também quiser fazer backup de recursos, segredos e volumes persistentes no escopo do cluster, selecione os itens em Outras Opções.

Screenshot that shows various backup configurations.

Usar ganchos durante o backup do AKS

Esta seção descreve como usar um gancho de backup para criar um instantâneo consistente com aplicativos do cluster do AKS com MySQL implantado (um volume persistente que contém a instância do MySQL).

Você pode usar ganchos personalizados no backup do AKS para obter instantâneos consistentes com aplicativos dos volumes. Os volumes são usados para os bancos de dados implantados como cargas de trabalho em contêineres.

Usando um gancho de backup, você pode definir os comandos para congelar e descongelar um pod do MySQL, para que um instantâneo do aplicativo do volume possa ser obtido. Em seguida, a extensão de Backup orquestra as etapas de execução dos comandos nos ganchos e obtém o instantâneo volume.

Um instantâneo consistente com aplicativos de um volume com MySQL implantado é feito executando as seguintes ações:

  1. O pod que executa o MySQL é congelado para que nenhuma nova transação seja executada no banco de dados.
  2. Um instantâneo é tirado do volume como backup.
  3. 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:

  1. Escreva o recurso personalizado para gancho de backup com comandos para congelar e descongelar um pod do 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
    
    
    
  2. Antes de configurar um backup, você deve implantar o recurso personalizado do gancho de backup no cluster do AKS.

    Para implantar o script, execute o comando a seguir.

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Quando a implantação estiver concluída, você poderá configurar o backup para o cluster do AKS.

    Observação

    Como parte de uma configuração de backup, é necessário fornecer o nome do recurso personalizado e o namespace no qual o recurso está implantado como entrada.

    Screenshot that shows how to add the namespace for the backup configuration.

Próximas etapas