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 descreve os pré-requisitos para configurar um cluster PostgreSQL no Serviço Kubernetes do Azure (AKS) e fornece 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 é excluído dos contratos de nível de serviço do AKS, da garantia limitada e do suporte do Azure. Ao usar a tecnologia de código aberto ao lado do AKS, consulte as opções de suporte disponíveis nas respetivas comunidades e mantenedores do projeto para desenvolver um plano.
Por exemplo, o repositório Ray GitHub descreve várias plataformas que variam em tempo de resposta, finalidade e nível de suporte.
A Microsoft assume a responsabilidade pela criação dos pacotes de código aberto que implantamos no AKS. Essa responsabilidade inclui ter a propriedade completa do processo de compilação, digitalização, assinatura, validação e hotfix, juntamente com o controle sobre os binários em imagens de contêiner. Para obter mais informações, consulte Gerenciamento de vulnerabilidades para cobertura de suporte AKS e AKS.
Pré-requisitos
- Este guia pressupõe uma compreensão básica dos principais conceitos do Kubernetes e do PostgreSQL.
- Você precisa do Proprietário ou Administrador de Acesso de Usuário e das funções internas do Azure de Colaborador em uma assinatura em sua conta do Azure.
Use o ambiente Bash no Azure Cloud Shell. Para obter mais informações, consulte Guia de início rápido para Bash no Azure Cloud Shell.
Se preferir executar comandos de referência da CLI localmente, instale a CLI do Azure. Se estiver a utilizar o Windows ou macOS, considere executar a CLI do Azure num contentor Docker. Para obter mais informações, consulte Como executar a CLI do Azure em um contêiner do Docker.
Se estiver a utilizar uma instalação local, inicie sessão no CLI do Azure ao utilizar o comando az login. Para concluir o processo de autenticação, siga os passos apresentados no seu terminal. Para outras opções de entrada, consulte Entrar com a CLI do Azure.
Quando solicitado, instale a extensão da CLI do Azure na primeira utilização. Para obter mais informações sobre as extensões, veja Utilizar extensões com o CLI do Azure.
Execute o comando az version para localizar a versão e as bibliotecas dependentes instaladas. Para atualizar para a versão mais recente, execute o comando az upgrade.
Você também precisa dos seguintes recursos instalados:
- Azure CLI versão 2.56 ou posterior.
- Extensão de visualização do Serviço Kubernetes do Azure (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.
- kubectl CloudNativePG (CNPG) Plugin.
Processo de implementação
Neste guia, ficará a saber como:
- Use a CLI do Azure para criar um cluster AKS de várias zonas.
- Implante um cluster e banco de dados PostgreSQL altamente disponíveis usando o operador CNPG.
- Configure o monitoramento para PostgreSQL usando Prometheus e Grafana.
- Implante um conjunto de dados de exemplo em um banco de dados PostgreSQL.
- Execute atualizações de cluster PostgreSQL e AKS.
- Simule uma interrupção de cluster e failover de réplica do PostgreSQL.
- Execute backup e restauração de um banco de dados PostgreSQL.
Arquitetura de implantação
Este diagrama ilustra uma configuração de cluster PostgreSQL com uma réplica primária e duas réplicas de leitura gerenciadas pelo operador CloudNativePG (CNPG). A arquitetura fornece um PostgreSQL altamente disponível em execução em um cluster AKS que pode resistir a uma interrupção de zona fazendo failover em 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.
Nota
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. Atualmente, não é possível com o operador do CNPG adicionar mais bases de dados de forma declarativa. Saiba mais sobre a operadora CNPG.
Próximos passos
Contribuidores
A Microsoft mantém este artigo. Os seguintes colaboradores escreveram-no originalmente:
- Ken Kilty - Brasil | Principal TPM
- Russell de Pina - Brasil | Principal TPM
- Adrian Joian - Brasil | Engenheiro de Clientes Sênior
- Jenny Hayes - Brasil | Desenvolvedor de Conteúdo Sênior
- Carol Smith - Brasil | Desenvolvedor de Conteúdo Sênior
- Erin Schaffer - Brasil | Desenvolvedor de Conteúdo 2
- Adam Sharif - Brasil | Engenheiro de Clientes 2
Azure Kubernetes Service