Implantar um banco de dados PostgreSQL altamente disponível no AKS com a CLI 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.
Por exemplo, o repositório do Ray GitHub descreve várias plataformas que variam em tempo de resposta, finalidade e nível de suporte.
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 do Proprietário ou do Administrador de Acesso do Usuário e do Contribuidor como funções internas do Azure em uma assinatura em sua conta do Azure.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, confira Início Rápido para Bash no Azure Cloud Shell.
Se preferir executar os comandos de referência da CLI localmente, instale a CLI do Azure. Para execuções no Windows ou no macOS, considere executar a CLI do Azure em um contêiner do Docker. Para obter mais informações, confira Como executar a CLI do Azure em um contêiner do Docker.
Se estiver usando uma instalação local, entre com a CLI do Azure usando o comando az login. Para concluir o processo de autenticação, siga as etapas exibidas no terminal. Para ver outras opções de entrada, confira Conectar-se com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure no primeiro uso. Para obter mais informações sobre extensões, confira Usar extensões com a CLI do Azure.
Execute az version para localizar a versão e as bibliotecas dependentes que estão instaladas. Para fazer a atualização para a versão mais recente, execute az upgrade.
Você também precisa ter os seguintes recursos instalados:
- CLI do Azure versão 2.56 ou posterior.
- Extensão de pré-visualização do Serviço Azure Kubernetes (AKS).
- jq versão 1.5 ou posterior.
- kubectl versão 1.21.0 ou posterior.
- Helm versão 3.0.0 ou posterior.
- openssl versão 3.3.0 ou posterior.
- Visual Studio Code ou equivalente.
- Krew versão 0.4.4 ou posterior.
- Plugin kubectl do CloudNativePG (CNPG)
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.
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, com o operador CNPG, não é possível adicionar mais bancos de dados de maneira declarativa. Saiba mais sobre o operador CNPG.
Próximas etapas
Colaboradores
A Microsoft atualiza este artigo. Os seguintes colaboradores o escreveram originalmente:
- Ken Kilty | Principal TPM
- Russell de Pina | Principal 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
Azure Kubernetes Service