Fazer backup do Serviço Kubernetes do Azure usando 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.

Nota

O backup em cofre e a restauração entre regiões para AKS usando o Backup do Azure estão atualmente em visualização.

Antes de começar

  • Atualmente, o backup do AKS 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 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 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 backup do AKS suporta backup 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ê deve instalar a extensão Backup para configurar operações de backup e restauração para um cluster AKS. Saiba mais sobre a extensão Backup.

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

  • Certifique-se de executar todos os pré-requisitos antes de iniciar uma operação de backup ou restauração para o backup do AKS.

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 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.

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 você quiser usar o Backup do Azure para proteger seus clusters AKS de qualquer interrupção regional:

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

    Screenshot shows how to enable the Backup Storage Redundance parameter.

  2. 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.

    Screenshot shows how to enable the Cross Region Restore parameter.

  3. 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.

    Nota

    O armazenamento de dados padrão do Vault está atualmente em visualização.

Criar uma política de cópias de segurança

Antes de configurar os 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.

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

Para criar uma política de cópias de segurança:

  1. Vá para Centro de backup e selecione Política para criar uma nova política de backup.

    Screenshot that shows how to start creating a backup policy.

    Como alternativa, vá para Adicionar políticas> de backup do centro>de backup.

  2. Para Tipo de fonte de dados, selecione Serviço 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 que você criou) onde a política de backup precisa ser criada.

    Screenshot that shows providing the backup policy name.

  4. Na guia Agendar + retenção, defina a frequência dos backups e por quanto tempo eles precisam ser mantidos na camada Operacional e do Vault (também chamada de armazenamento de dados).

    Freqüência de backup: selecione a frequência de backup (por hora ou diariamente) e, em seguida, escolha a duração de retenção para os 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 um período mais longo que são feitos diariamente ou semanalmente.

    • Padrão: esta regra define a duração de retenção padrão para todos os backups de camada operacional feitos. 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, cada primeiro backup bem-sucedido do dia pode ser mantido no armazenamento de dados operacional e no armazenamento padrão do Vault. Você pode editar e excluir essa regra (se quiser manter 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.

    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.
    • O armazenamento de dados padrão do Vault está atualmente em visualização. 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 Vault.
    • Os backups armazenados na Camada do Vault também podem ser copiados na região secundária (região Emparelhada do Azure) que você pode usar 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.
  5. Quando as configurações de frequência e retenção de backup estiverem definidas, selecione Avançar.

    Screenshot that shows the completion of a backup policy creation.

  6. No separador Rever + criar, reveja as informações e, em seguida, 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 que são implantados no cluster. Você também pode proteger um cluster várias vezes de acordo com os requisitos de agendamento 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.

Para configurar backups para cluster AKS:

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

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

  3. Para preparar o cluster 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.

    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.

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

  5. Reveja os detalhes da instalação da extensão e, em seguida, selecione Criar.

    A instalação da extensão é iniciada.

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

  6. Quando a extensão de backup for instalada com êxito, selecione Configurar backup para começar a configurar backups para seu cluster 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 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.

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

    Nota

    • Antes de habilitar o Acesso Confiável, habilite o sinalizador de recurso para o TrustedAccessPreviewMicrosoft.ContainerServices provedor de recursos na assinatura.
    • Se o cluster 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 Seguinte.

    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 dos quais deseja fazer backup.

    Saiba mais sobre configurações de backup.

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

  11. 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). Em seguida, selecione Validar.

    Screenshot that shows how to validate the snapshot resource group.

  12. 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:

    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 Avançar.

    Screenshot that shows how to proceed to the backup configuration.

  15. Selecione Configurar backup.

  16. Quando a configuração estiver concluída, selecione Avançar.

    Screenshot that shows how to finish backup configuration.

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

    Screenshot that shows the list of created backup instances.

    Screenshot that shows the backup instance details.

Configurações de backup

Como parte do recurso de backup do AKS, você pode fazer backup de todos os recursos de cluster ou recursos de cluster específicos. Você pode usar os filtros disponíveis para configuração de backup para escolher os recursos para 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 de Namespaces para backup:

  • Todos (incluindo namespaces futuros): faz backup de todos os valores atuais e futuros para namespaces quando é feito backup dos recursos de cluster subjacentes .

  • Escolha na lista: Selecione os valores específicos para Namespaces no cluster AKS para backup.

    Para selecionar recursos de cluster específicos para backup, você pode usar rótulos anexados aos recursos para incluir os recursos no backup. Somente os recursos que têm os rótulos inseridos são copiados. Você pode usar vários rótulos.

    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.

    Se você também quiser fazer backup de recursos, segredos e volumes persistentes com escopo de 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 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:

  1. O pod que executa o MySQL é congelado para que nenhuma nova transação seja realizada 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 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 AKS.

    Para implantar o script, execute o seguinte comando:

    kubectl apply -f mysqlbackuphook.yaml
    
    
  3. Quando a implantação estiver concluída, você poderá configurar o backup 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.

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

Próximos passos