Backup e recuperação para AKS
O backup e a recuperação são uma parte essencial da estratégia operacional e de recuperação de desastre de qualquer organização. Um plano de backup e recuperação geralmente depende de um conjunto diversificado de tecnologias e práticas que se baseiam em fazer cópias periódicas de dados e aplicativos para um dispositivo ou serviço secundário separado. Se ocorrer uma falha do sistema, perda de dados ou desastre, essas cópias serão usadas para recuperar os dados e aplicativos e as operações de negócios das quais dependem.
Esta seção do guia de operações do dia 2 do AKS (Serviço de Kubernetes do Azure) descreve as práticas de backup e recuperação do AKS.
Por que fazer backup do cluster AKS é importante
À medida que as implantações nativas da nuvem e o Kubernetes continuam a crescer em adoção, torna-se cada vez mais essencial para as organizações incluir clusters e cargas de trabalho do Kubernetes em uma estratégia abrangente de backup e recuperação.
A implementação de backup e recuperação no AKS permite:
- Crie uma cópia secundária da configuração e dos dados do seu cluster AKS, para usar se ocorrer falha irreversível do sistema, perda de dados ou desastre.
- Copie recursos do Kubernetes e dados de aplicativos de um cluster AKS para outro.
- Replique seu cluster AKS para criar outros ambientes.
- Tire instantâneos da carga de trabalho antes das operações de manutenção, como atualizações de versão do AKS.
- Cumpra os requisitos de proteção de dados para manter a conformidade normativa ou organizacional.
- Reverta rapidamente para uma implantação anterior se um problema com uma implantação ou alteração recente for detectado.
Embora os backups ajudem a restaurar sua carga de trabalho se ocorrer um problema, eles não fornecem HA (alta disponibilidade).
Quando se trata de alta disponibilidade intrarregional e recuperação de desastre entre regiões no AKS, você pode considerar várias outras opções, como:
- Zonas de disponibilidade: o AKS oferece suporte ao uso de zonas de disponibilidade, que são datacenters fisicamente separados em uma região do Azure. Ao implantar clusters AKS em várias zonas de disponibilidade, você pode garantir maior resiliência e tolerância a falhas em uma região. Isso permite que seus aplicativos permaneçam operacionais mesmo se uma zona sofrer uma interrupção.
- Opções de redundância para volumes persistentes: o AKS fornece várias opções de redundância para volumes persistentes. O driver CSI de disco do Azure para Kubernetes oferece suporte a classes de armazenamento internas e classes de armazenamento personalizadas que usam o LRS (armazenamento localmente redundante) ou o ZRS (armazenamento redundante de zona) para melhor resiliência intrarregional. Para obter mais informações, consulte Parâmetros de driver.
- Gerenciador de Frota de Kubernetes do Azure: o Gerenciador de Frota de Kubernetes do Azure permite cenários multicluster e em escala intrarregional e entre regiões para clusters AKS.
- Opções de redundância geográfica para o ACR (Registro de Contêiner do Azure): o ACR (Registro de Contêiner do Azure) oferece recursos de replicação geográfica. Com a redundância geográfica, suas imagens de contêiner são replicadas em diferentes regiões do Azure. Portanto, mesmo que uma região específica sofra uma interrupção, suas imagens estarão disponíveis, o que fornece maior disponibilidade para o registro do contêiner.
Você também pode usar metodologias como IaC (Infraestrutura como Código), Pipelines do Azure, GitOps e Fluxo para reimplantar rapidamente suas cargas de trabalho se ocorrer um desastre.
Para obter mais informações sobre essas metodologias, você pode revisar estes artigos:
- Compile e implante no Serviço de Kubernetes do Azure com o Azure Pipelines
- Tutorial: Implantar aplicativos usando o GitOps com o Flux v2
- Noções básicas de estrutura e sintaxe dos modelos ARM
- O que é o Bicep?
- Visão geral do Terraform no Azure - o que é Terraform?
O que fazer backup
Ao considerar o backup e a recuperação para clusters AKS e Kubernetes em geral, é crucial identificar exatamente quais componentes devem ser incluídos em um backup para garantir uma restauração bem-sucedida. Primeiramente, esses componentes críticos consistem em:
Estado do cluster: refere-se à configuração ou estado atual e desejado de todos os objetos do Kubernetes dentro do cluster. Ele engloba vários objetos, como implantações, pods, serviços e muito mais. O estado do cluster é armazenado em um banco de dados de pares chave-valor etcd altamente disponível, que geralmente só é acessível a partir do servidor de API, como é o caso de clusters gerenciados como o AKS. O estado do cluster é definido de maneira declarativa e é o resultado de todos os arquivos de configuração do Kubernetes aplicados ao cluster, como manifestos YAML.
Dados do aplicativo: refere-se aos dados criados, gerenciados ou acessados pelas cargas de trabalho em contêineres em execução no cluster. Para garantir a persistência de dados em reinicializações de pod ou contêiner, o Kubernetes recomenda armazenar dados de aplicativos em volumes persistentes. Esses volumes podem ser criados estaticamente ou dinamicamente e podem ser apoiados por vários tipos de armazenamento persistente, oferecendo flexibilidade e escalabilidade para requisitos de armazenamento e gerenciamento de dados.
Embora um backup completo do cluster exija que o estado do cluster e os dados do aplicativo sejam incluídos como uma única unidade, a determinação do escopo ideal de cada backup depende de vários fatores. Por exemplo, a presença de fontes alternativas, como pipelines de CI/CD (Integração Contínua e Entrega Contínua), pode permitir uma recuperação mais fácil do estado do cluster. Além disso, o tamanho dos dados do aplicativo desempenha um papel nos custos de armazenamento e no tempo necessário para operações de backup e recuperação.
A estratégia ideal de backup e recuperação depende muito do aplicativo e do ambiente específicos. Portanto, o escopo do backup deve ser avaliado caso a caso. Ele também deve considerar fatores como a importância do estado do cluster e o volume de dados do aplicativo.
O direcionamento de outros componentes, como nós de cluster (VMs) individuais ou sistemas de arquivos e volumes locais, que normalmente são incluídos nos planos tradicionais de backup e recuperação para sistemas baseados em servidor, não é relevante no Kubernetes. O estado e os dados relevantes não são persistentes em nós individuais ou sistemas de arquivos locais da mesma forma que os sistemas tradicionais.
Introdução às opções de backup e recuperação do AKS
Há diferenças notáveis entre aplicativos monolíticos tradicionais e cargas de trabalho em execução em um cluster do Kubernetes, que apresentam vários desafios para backup e recuperação. As cargas de trabalho do Kubernetes são intencionalmente projetadas para serem altamente dinâmicas e distribuídas, com dados persistentes persistindo em volumes persistentes externos suportados por vários recursos e serviços subjacentes.
Para oferecer suporte efetivo a ambientes do Kubernetes, as soluções de backup e recuperação devem possuir conhecimento do Kubernetes e do aplicativo. Eles devem oferecer um grau de automação, confiabilidade e integração, que muitas vezes não é encontrado em ferramentas herdadas ou mais convencionais de backup e recuperação.
Várias soluções de backup e recuperação nativas do Kubernetes estão disponíveis, com opções que variam de código aberto a fechado e oferecem diferentes modelos de licenciamento.
A seguir, alguns exemplos de soluções de backup e recuperação que você pode usar com o AKS. Um exemplo notável é a solução primária totalmente gerenciada da Microsoft chamada AKS Backup (Serviço de Kubernetes do Azure), que fornece um serviço integrado ao Azure projetado para backup e recuperação de clusters AKS e suas cargas de trabalho. Esta lista não é exaustiva e fornece apenas algumas opções disponíveis.
AKS Backup
O AKS Backup é a oferta do Azure para fazer backup e restaurar seus clusters do AKS. É um processo simples e nativo do Azure, que permite fazer backup e restaurar os aplicativos conteinerizados e dados em execução em seus clusters do AKS.
O AKS Backup permite backups sob demanda ou agendados do estado completo ou refinado do cluster e dos dados de aplicativos armazenados em volumes persistentes baseados em disco do Azure. Ele se integra ao Centro de Backup do Azure para fornecer uma única área no portal do Azure que pode ajudar você a governar, monitorar, operar e analisar backups em escala.
Consulte Sobre o AKS Backup usando o Backup do Azure para obter uma descrição detalhada de como o AKS Backup funciona e seus recursos.
Kasten
Kasten é um produto comercial, que fornece às equipes de operações um sistema fácil de usar e seguro para backup e recuperação de aplicativos Kubernetes. Ele está disponível em uma versão gratuita com funcionalidade limitada e sem suporte, e uma versão paga que inclui mais recursos e suporte ao cliente.
Quando o Kasten é implantado como um operador Kubernetes dentro do cluster, ele fornece uma solução de backup abrangente. Oferece um painel de gerenciamento para controle centralizado e visibilidade. Com o Kasten, os usuários podem se beneficiar de backups incrementais e com reconhecimento de aplicativos, permitindo uma proteção de dados eficiente. Além disso, o Kasten oferece recursos de recuperação de desastre. Essas capacidades incluem failover e failback automatizados e recursos para migração de dados e garantia de segurança.
Para obter mais detalhes sobre o conjunto de recursos do Kasten, consulte a documentação do Kasten K10. Para saber como usar efetivamente o Kasten com clusters AKS, consulte Instalação do K10 no Azure.
Velero
Velero é uma ferramenta de backup e recuperação de código aberto amplamente utilizada para Kubernetes. Ele oferece uma versão gratuita e irrestrita disponível para todos os usuários, com suporte e manutenção fornecidos por uma comunidade de colaboradores do projeto.
O Velero é executado como uma implantação no cluster e fornece um conjunto abrangente de recursos para backup, recuperação e migração de dados de aplicativos. Embora os painéis não estejam disponíveis prontamente, eles podem ser adicionados por meio de integrações externas.
Para obter mais informações sobre seu conjunto de recursos e saber como integrá-lo a clusters do AKS, consulte a documentação do Velero.
Instalação e configuração do AKS Backup
Para instalar e configurar o AKS Backup, execute estas etapas:
- Consulte Pré-requisitos para o AKS Backup usando o Backup do Azure para obter uma descrição detalhada dos pré-requisitos para usar o AKS Backup com seu cluster do AKS.
- Revise a matriz de suporte do AKS Backup para obter uma descrição detalhada da disponibilidade da região, dos cenários com suporte e das limitações do AKS Backup.
- Consulte Gerenciar backups do AKS usando o Backup do Azure para obter orientação sobre como registrar os provedores de recursos necessários em suas assinaturas e gerenciar esses registros.
- Revise Fazer AKS Backup usando o Backup do Azure para obter instruções detalhadas sobre como configurar o backup e a recuperação para seu cluster do AKS usando o AKS Backup. As instruções incluem a criação e a configuração de todos os recursos necessários do Azure, como cofre de Backup, políticas de Backup e instâncias de Backup.
- Consulte Restaurar o AKS usando o Backup do Azure para obter instruções detalhadas sobre como executar restaurações completas ou em nível de item do cluster AKS de uma instância de Backup existente.
Frequência e retenção de backup no AKS: definição de uma política de backup
Determinar a frequência de backup e o período de retenção é um aspecto fundamental das soluções de backup e recuperação. Esses parâmetros definem a frequência com que os backups são realizados e por quanto tempo eles são retidos antes da exclusão. A seleção da frequência de backup e do período de retenção para um cluster AKS e suas cargas de trabalho deve estar alinhada com as metas predefinidas de RPO (Objetivo de Ponto de Recuperação) e RTO (Objetivo de Tempo de Recuperação).
Em um cenário do Kubernetes, o RPO representa a quantidade máxima aceitável de estado de cluster ou perda de dados que pode ser tolerada. O RTO especifica o tempo máximo permitido entre o estado do cluster ou a perda de dados e a retomada das operações de cluster.
A frequência de backup e o período de retenção escolhidos são uma compensação entre os destinos de RPO/RTO desejáveis, os custos de armazenamento e a sobrecarga de gerenciamento de backup. Isso significa que não há uma configuração única para todos os clusters e cargas de trabalho do AKS, e a configuração ideal para cada cluster ou carga de trabalho deve ser definida caso a caso para atender aos requisitos dos negócios, após um planejamento e consideração cuidadosos. Os fatores relevantes a serem considerados ao definir a frequência de backup e o período de retenção de um cluster do AKS incluem:
- Criticidade: o nível de criticidade associado ao cluster e seus dados de aplicativo de carga de trabalho em termos de continuidade de negócios.
- Padrões de acesso e taxa de alteração: a quantidade de estado do cluster e dados que são adicionados, modificados, excluídos em um determinado período de tempo.
- Volume de dados: o volume de dados que afeta os custos de armazenamento e o tempo necessário para concluir as operações de backup e recuperação.
- Conformidade: os requisitos para retenção e soberania de dados com base em regras internas de conformidade e regulamentos do setor.
No serviço AKS Backup, a frequência de backup e o período de retenção são armazenados como um recurso de política de backup, que se aplica ao estado do cluster e aos dados do aplicativo de volumes persistentes.
As políticas de backup no AKS Backup dão suporte a backups diários e horários, com períodos de retenção de até 360 dias, enquanto várias políticas podem ser definidas e aplicadas ao mesmo cluster.
Consulte Criar uma política de backup para obter mais informações sobre como configurar políticas de backup no AKS Backup.
Outras considerações de backup
Para garantir que sua solução de backup e recuperação atenda aos requisitos e políticas da sua organização, considere os seguintes pontos:
- RPO (Objetivo de Ponto de Recuperação) e RTO (Objetivo de Tempo de Recuperação): determine se você tem destinos específicos de RPO e RTO que precisam ser atendidos para suas operações de backup e recuperação.
- PVs (Volumes persistentes): verifique se você está usando volumes persistentes e verifique se a solução AKS Backup oferece suporte aos seus tipos PV. Consulte a matriz de suporte do AKS Backup para obter detalhes de compatibilidade.
- Escopo de backup: defina o que precisa de backup, como namespaces específicos, tipos de recursos ou dados específicos no cluster. Para obter mais informações, consulte Configurar um trabalho de backup.
- Frequência e retenção de backup: determine a frequência na qual você precisa executar backups e a duração pela qual você precisa retê-los. Essa configuração pode ser definida usando políticas de backup. Para mais informações, consulte Definição de uma política de backup.
- Seleção de cluster: decida se você precisa fazer backup de todos os clusters ou apenas de clusters de produção específicos com base em suas necessidades.
- Procedimento de restauração de teste: execute restaurações de teste periódicas para validar a confiabilidade e a usabilidade de sua estratégia de backup. Essa etapa é crucial para garantir a eficácia da solução de backup e recuperação. Para obter mais informações, consulte Restauração de um cluster do AKS.
- Cenários com suporte: verifique se a solução AKS Backup dá suporte ao seu cenário específico. Consulte a matriz de suporte do AKS Backup para obter informações de compatibilidade.
- Alocações de orçamento: considere se você tem alocações de orçamento específicas para operações de backup e restauração. Revise as informações de preços fornecidas pela solução AKS Backup para alinhá-las às suas necessidades orçamentárias.
Levando em consideração essas outras considerações, você pode garantir que sua solução de backup e recuperação para AKS atenda às necessidades e preferências de sua organização de forma eficiente e eficaz.
Local e armazenamento do AKS Backup
O AKS Backup usa um cofre de Backup e uma conta de armazenamento para armazenar os diferentes tipos de dados capturados de um cluster durante um backup.
Para volumes persistentes baseados em disco, o AKS Backup usa instantâneos incrementais do Disco do Azure subjacente, que são armazenados em sua assinatura do Azure.
Um cofre de Backup é uma entidade de armazenamento seguro no Azure, que é usada para armazenar dados de backup para cargas de trabalho com suporte no Backup do Azure, como clusters AKS. O próprio Cofre de Backup contém as políticas de backup e os backups e pontos de recuperação criados pelos trabalhos de backup.
O Azure gerencia automaticamente o armazenamento para o Cofre de Backup. Você pode escolher entre várias opções de redundância para os dados armazenados nele, que podem ser configuradas no ponto de criação do Cofre de Backup.
Uma conta de armazenamento é uma área de armazenamento para seus objetos de dados no Azure e é altamente configurável. Ele fornece várias opções de redundância intrarregião e entre regiões para garantir a durabilidade dos dados. O AKS Backup usa um contêiner de blob dentro de uma conta de armazenamento designada para fazer backups de alguns componentes do cluster do AKS.
Os instantâneos incrementais são backups pontuais de discos gerenciados que, quando obtidos, consistem apenas nas alterações desde o último instantâneo. O primeiro instantâneo incremental é uma cópia completa do disco. Os instantâneos incrementais subsequentes capturam apenas alterações delta em discos desde o último instantâneo.
Uso do AKS Backup para migrar cargas de trabalho entre clusters do AKS
Você pode usar o AKS Backup como um mecanismo de backup e recuperação para clusters específicos. O AKS Backup também oferece suporte a cenários de migração, permitindo que você faça um backup de um cluster e restaure-o em outro, como:
- Restauração de um cluster de desenvolvimento para um cluster de preparação
- Replicação de conteúdo em vários clusters
Para garantir que seu cenário tenha suporte, consulte a seguinte documentação:
Colaboradores
Esse artigo é mantido pela Microsoft. Ele foi originalmente escrito pelos colaboradores a seguir.
Autor principal:
- Adam Sharif | Assistente Técnico
- João Tavares | Engenheiro de Escalonamento Sênior
Outros colaboradores:
- Paolo Salvatori | Engenheiro de Cliente Principal, FastTrack for Azure
- Sonia Cuff | Principal Defensor Líder de Nuvem
Próximas etapas
Saiba mais sobre o AKS Backup
- Visão geral do AKS Backup
- Matriz de suporte do AKS Backup
- Pré-requisitos do AKS Backup
- Configuração do AKS Backup
- Criação de um cofre de Backup
- Criar uma política de backup
- Como configurar backups
- Restauração de um cluster do AKS
- Melhores práticas para continuidade de negócios e recuperação de desastre para AKS
- Padrões de confiabilidade – padrões de design de nuvem