Cela fait déjà un moment que vous utilisez PostgreSQL, et vous avez peut-être déjà essayé pas mal de solutions pour le mettre en cluster... Sans grand succès. En voici une, pas piqué des hannetons : Patroni !
Mais Patroni [1], qu’est ce que c’est ? Eh bien, c’est un outil en Python qui va vous permettre de personnaliser des déploiements, pour mettre en place vos serveurs de base de données en haute disponibilité.
Patroni est un fork développé par Zalando [2] de Governor, qui lui aussi était un outil permettant de mettre en place des clusters PostgreSQL.
Pour maintenir l’état du cluster PostgreSQL, l’outil repose sur une base de données clés/valeurs, au choix : ETCD, Consul ou Zookeeper.
Il peut d’ailleurs être intégré à votre Kubernetes, en s’appuyant sur son ETCD.
Nous allons créer un cluster composé de 3 machines CentOS 7.4. Comme nous l’avons évoqué, Patroni est écrit en Python, du coup, nous utiliserons la version 3.4 disponible dans le dépôt officiel de CentOS.
Chaque machine composera un nœud de notre cluster. Nous allons exécuter la version 9.5 de PostgreSQL, avec ETCD comme base de données clés/valeurs.
Et voici ce que...
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première