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 em cofre 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 Microsoft.ContainerService estejam registrados para sua assinatura antes de iniciar a configuração de backup e as operações de restauração.
  • 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 do 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, poderá habilitar a Restauração Entre Regiões. Para habilitar a Restauração Entre Regiões, você precisa:

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

    Captura de tela mostrando como habilitar o parâmetro de Redundância de Armazenamento de Backup.

  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.

    Captura de tela mostrando como habilitar o parâmetro Restauração Entre Regiões.

  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.

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.

Para criar uma política de backup:

  1. Vá para o cofre de Backup que você criou e selecione Gerenciar>Políticas de Backup>Adicionar.

  2. Insira um nome para a política de backup.

  3. Para Tipo de fonte de dados, selecione Serviços de Kubernetes.

  4. Na guia Agendamento + retenção, defina o Agendamento de backup.

    • 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.
    • Configuração de Retenção: uma nova política de backup tem a regra Padrão definida por padrão. Você só 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 uma duração mais longa, que são realizados diariamente ou semanalmente.

    Captura de tela que mostra as configurações de retenção.

    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.

    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.
    • Você pode copiar backups na região secundária (Região emparelhada do Azure) armazenada na Camada do Cofre, 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.

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

Instalar a extensão de Backup e configurar o backup

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.

Instalar a extensão de Backup

Para configurar backups para um cluster do AKS:

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

  2. No menu de serviço, em Configurações, selecione 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.

    Captura de tela que mostra como adicionar detalhes de armazenamento e blob para backup.

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

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

Configurar o backup

  1. Quando a extensão de Backup tiver sido instalada com sucesso, selecione Configurar Backup.

  2. Selecione o cofre de Backup que você criou anteriormente. 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.

  3. Na guia Política de Backup, selecione a política de backup, que define o agendamento para backups e o período de retenção e selecione Avançar.

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

  5. No painel Selecionar Recursos para Fazer Backup, defina os recursos do cluster dos quais você deseja fazer backup.

    Saiba mais sobre configurações de backup.

  6. 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) e selecione Validar.

    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:

    Captura de tela que mostra um erro de validação quando as permissões necessárias não são atribuídas.

    Para resolver o erro, em Nome de fonte de dados, marque a caixa de seleção da fonte de dados e selecione Atribuir funções ausentes.

  7. 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 no cluster do 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:

  1. Selecione Selecionar Namespaces para fazer backup. Você pode selecionar Todos para fazer backup de todos os namespaces existentes e futuros no cluster ou selecionar namespaces específicos para backup.

    Os namespaces a seguir são ignorados das configurações de Backup: kube-system, kube-node-lease e kube-public.

    Captura de tela que mostra como selecionar namespaces a serem incluídos no backup.

  2. Expanda Configurações Adicionais de Recursos para ver os filtros que você pode usar para escolher recursos de cluster para fazer backup. Você pode optar por fazer backup de recursos com base nas seguintes categorias:

    • Rótulos: você pode filtrar recursos do AKS usando rótulos que você atribuir aos tipos de recursos. Insira rótulos na forma de pares chave/valor. Você pode combinar vários rótulos usando a lógica AND. Por exemplo, se você inserir os rótulos env=prod;tier!=web, o processo selecionará recursos que têm um rótulo com a chave env e o valor prod, e um rótulo com a chave tier para o qual o valor não é web.
    • Grupos de API: você também pode incluir recursos fornecendo o grupo de API do AKS e o tipo. Por exemplo, você pode escolher para fazer backup de recursos do AKS, como Implantações. Você pode acessar a lista de Grupos de API definidos pelo Kubernetes aqui.
    • Outras opções: você pode selecionar a caixa de seleção e habilitar ou desabilitar o backup para recursos com escopo de cluster, volumes persistentes e segredos. Recursos com escopo de cluster e volumes persistentes são habilitados por padrão.

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.

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.

Próximas etapas