Compartilhar via


Visão geral da implantação de um banco de dados PostgreSQL altamente disponível no AKS (Serviço de Kubernetes do Azure)

Neste guia, você implanta um cluster PostgreSQL altamente disponível que abrange várias zonas de disponibilidade do Azure no AKS com a CLI do Azure.

Este artigo percorre os pré-requisitos para configurar um cluster PostgreSQL no AKS (Serviço de Kubernetes do Azure) e apresenta uma visão geral do processo de implantação completo e da arquitetura.

Importante

O software de código aberto é mencionado em toda a documentação e amostras do AKS. O software que você implanta está excluído dos contratos de nível de serviço do AKS, garantia limitada e suporte do Azure. Ao usar tecnologia de código aberto junto com o AKS, consulte as opções de suporte disponíveis nas comunidades e mantenedores de projetos respectivos para desenvolver um plano.

A Microsoft assume a responsabilidade por criar os pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter propriedade completa do processo de criação, verificação, sinalização, validação e hotfix, junto com o controle sobre os binários em imagens de contêiner. Para obter mais informações, confira Gerenciamento de vulnerabilidades para o AKS e Cobertura de suporte do AKS.

Pré-requisitos

  • Este guia pressupõe um entendimento básico dos principais conceitos do Kubernetes e do PostgreSQL.
  • Você precisa das funções internas do Azure de Proprietário ou Administrador de Acesso do Usuário em uma assinatura em sua conta do Azure.

Processo de implantação

Neste guia, você aprenderá a:

  • Use a CLI do Azure para criar um cluster AKS de várias zonas.
  • Implante um cluster e um banco de dados postgreSQL altamente disponíveis usando o operador CNPG.
  • Configure o monitoramento para PostgreSQL usando o Prometheus e o Grafana.
  • Implante um conjunto de dados de exemplo em um banco de dados PostgreSQL.
  • Execute atualizações de cluster do PostgreSQL e do AKS.
  • Simule uma interrupção de cluster e failover de réplica do PostgreSQL.
  • Execute o backup e restauração de um banco de dados PostgreSQL.

Arquitetura de implantação

O diagrama ilustra uma configuração de cluster PostgreSQL com uma réplica primária e duas réplicas de leitura gerenciadas pelo operador do CloudNativePG (CNPG). A arquitetura fornece um PostgreSQL altamente disponível em execução em um cluster do AKS que consegue resistir a uma interrupção de zona por fazer failover entre réplicas.

Os backups são armazenados no Armazenamento de Blobs do Azure, fornecendo outra maneira de restaurar o banco de dados no caso de um problema com a replicação de streaming da réplica primária.

Você pode optar por hospedar o PostgreSQL no AKS quando precisar de controle total sobre a configuração do banco de dados, as extensões e a arquitetura de implantação. Ele é ideal para integrar firmemente com ferramentas nativas do Kubernetes, otimizar custos em escala e ajustar o desempenho por meio de alocação de recursos personalizadas, estratégias de cache e configurações de armazenamento adaptadas à sua carga de trabalho.

Diagrama de arquitetura do operador CNPG Kubernetes para hospedagem automática de um banco de dados PostgreSQL altamente disponível no AKS.

Observação

Para aplicativos que exigem separação de dados no nível do banco de dados, você pode adicionar mais bancos de dados com comandos postInitSQL e similares. No momento, não é possível adicionar mais bancos de dados de forma declarativa com o operador CNPG. Saiba mais sobre o operador CNPG.

Considerações de armazenamento

O tipo de armazenamento que você usa pode ter grandes efeitos no desempenho do PostgreSQL. Posteriormente neste guia, você seleciona a opção mais adequada para suas metas e necessidades de desempenho.

Tipo de armazenamento Driver de Compatibilidade Descrição
SSD Premium Driver CSI de Discos do Azure Resiliência máxima de dados. O SSD Premium do Azure fornece armazenamento de alto desempenho e funciona perfeitamente com o ZRS (armazenamento com redundância de zona) Premium do Azure. O SSD Premium é provisionado com base em tamanhos específicos, que oferecem determinados níveis de IOPS e taxa de transferência.
SSD Premium v2 Driver CSI de Discos do Azure Melhor preço-desempenho. O SSD premium do Azure v2 oferece um desempenho maior do que os SSDs Premium do Azure e, ao mesmo tempo, geralmente é menos caro. Ao contrário dos SSDs Premium, o SSD Premium v2 não tem tamanhos dedicados. Você pode definir um SSD Premium v2 para qualquer tamanho com suporte que preferir e fazer ajustes granulares no desempenho sem tempo de inatividade. Os discos SSD do Azure Premium v2 têm certas limitações que você deve estar ciente. Para ver uma lista completa, confira as Limitações do SSD Premium v2.
NVMe local ou SSD temporário (Discos Efêmeros) Somente armazenamento de contêineres do Azure Desempenho máximo. Os Discos Efêmeros são armazenamento NVMe local e armazenamento SSD temporário disponível em famílias selecionadas de VMs. Eles oferecem as IOPS, a taxa de transferência e a latência de submilissegundos mais altas possíveis para o seu cluster AKS. Você também pode aproveitar o alto desempenho dos Discos Efêmeros usando o Armazenamento de Contêineres do Azure, uma solução de armazenamento do Kubernetes gerenciada que provisiona dinamicamente volumes persistentes para cargas de trabalho com estado, como o PostgreSQL. No entanto, como esses discos residem nas VMs locais que hospedam o cluster, os dados não são mantidos em um serviço de armazenamento do Azure. Como resultado, todos os dados armazenados nesses discos serão perdidos se o cluster for interrompido ou desalocado. Para resolver essa limitação, seções posteriores neste guia mostram como configurar backups periódicos de seus dados postgreSQL no Armazenamento de Blobs do Azure.

Próximas etapas

Colaboradores

A Microsoft atualiza este artigo. Os seguintes colaboradores o escreveram originalmente:

  • Ken Kilty | Diretor de TPM
  • Russell de Pina | Diretor de TPM
  • Adrian Joian | Engenheiro sênior de clientes
  • Jenny Hayes | Desenvolvedora sênior de conteúdo
  • Carol Smith | Desenvolvedora sênior de conteúdo
  • Erin Schaffer | Desenvolvedora de Conteúdo 2
  • Adam Sharif | Engenheiro de clientes 2

Reconhecimento

Esta documentação foi desenvolvida em conjunto com o EnterpriseDB, os mantenedores do operador CloudNativePG. Agradecemos a Gabriele Bartolini por revisar os rascunhos anteriores deste documento e oferecer melhorias técnicas.