PostgreSQL em Kubernetes: funciona?
Bom, se tem uma coisa pela qual eu sempre torci o nariz é a utilização de bancos de dados relacionais sem soluções de microserviços. Quem conhece um pouco sabe que persistência em banco de dados é algo que precisa ser consistente e íntegro.
Mas eu conheço apenas banco de dados e muito pouco de microserviços, e imaginar todos aqueles pods subindo e descendo, sendo criados, recriados e deletados, para um DBA tradicionalista (não faço nem ideia se isso realmente existe), traz um certo desconforto que beira a um ataque de ansiedade que necessita de intervenção médica — brincadeira, mas talvez nem tanto.
Sou daqueles que acreditam que banco de dados deve permanecer em sua redoma consistente e segura, sem interrupções, com seus dados persistidos no disco mais performático e redundante possível. Mas é mal de DBA, com aquele instinto protetor de manter o que é hoje um dos recursos mais importantes da nossa era: os dados.
Mas claro…
Como dizem — temos que experimentar coisas novas. E também, como já dizia Bob Dylan:
“People are crazy and times are strange…” Opa, pera! Não é essa. É: “For the times, they are a-changin'”
Talvez as coisas realmente estejam mudando — e já há algum tempo. Toda essa introdução, com um pouco de opinião e música, é só pra dizer que, sim, PostgreSQL em Kubernetes funciona. E, que, há até uma solução Cloud Native para isso: o CloudNativePG, que foi um dos temas abordados na KubeCon 2024.
Mas afinal, o que é o CloudNativePG?
O CloudNativePG é um operador de código aberto criado para gerenciar clusters do PostgreSQL em ambientes Kubernetes. Ele automatiza todo o ciclo de vida de um cluster PostgreSQL, desde a implantação inicial até a manutenção contínua, integrado nativamente à API do Kubernetes — juro, não inventei, isso está na documentação deles.
Destacam-se como principais recursos:
- Alta Disponibilidade: Utiliza a replicação nativa do PostgreSQL para garantir que, em caso de falha do nó primário, uma réplica seja promovida automaticamente, garantindo a continuidade do serviço.
- Autopilot ou Piloto Automático — como preferir. Essa é uma funcionalidade que automatiza várias tarefas críticas dentro do cluster PostgreSQL em Kubernetes. Projetado para simplificar a administração, é ele que: inicia o failover da instância em caso de falha, gerencia réplicas e replicações, realiza o escalonamento automático de pods, auto-recuperação, backups, monitoramento e alertas.
- Segurança e Certificados TLS: Suporta conexões TLS criptografadas em trânsito, garantindo uma camada adicional de segurança para as comunicações entre os serviços e o PostgreSQL.
- Recuperação de Desastres: Oferece backup contínuo e aproveita a funcionalidade de recuperação point-in-time do PostgreSQL, permitindo a inicialização de um novo cluster a partir de um ponto específico no tempo.
- Persistência de Dados — se não fosse por isso, eu nem teria falado sobre Kubernetes. O CloudNativePG gerencia PVCs de forma eficiente, assegurando que os dados do PostgreSQL sejam armazenados de maneira confiável e consistente.
Isso é só um breve resumo sobre essa solução, que é bastante interessante. Convenhamos, facilita a implementação de um cluster PostgreSQL em ambiente Kubernetes, proporcionando diversas funcionalidades que desempenham um papel importante na continuidade e disponibilidade de qualquer serviço. Vale a pena ganhar algumas horas aprofundando e testando todas as possibilidades.
About author
Você pode gostar também
Domine o mercado de TI com o Curso Infraestrutura de Nuvens com OpenStack
A 4Linux lançou o Curso Infraestrutura de Nuvens com OpenStack, para atender uma demanda crescente no mercado de nuvem privada, pública e híbrida. Mais que uma demanda, o conteúdo se torna uma
Guia completo: Como automatizar a coleta de dados na web com Python e Selenium
Muita gente na internet tem dúvida de como fazer robôs que buscam coisas em sites, baixam conteúdo ou simplesmente executam ações para testar alguma funcionalidade do site, sistema ou algo
Terraform e Gitlab-CI: Como gerenciar sua infraestrutura em nuvem
Introdução O Terraform é uma ótima ferramenta para fazer o gerenciamento de sua infraestrutura em nuvem, normalmente iniciamos projetos de terraform rodando os principais comandos de construção e deleção de









