I'm using helm charts with kubernetes and I'm trying to deploy High Availability Postgresql database and found this article mentioning three project that provide HA Postgresql:
1- Stolon
2- CrunchyData
3- Patroni
I didn't find helm chart example for Patroni, but I installed both helm charts for Stolon and Crunchy. However, I wasn't able to find the differences between them except in the structure, both use statefulset from kubernetes in order to deploy master service and a number of replicas(ReadOnly slaves),stolon has this proxy service that points to the master service which is like an extra layer, makes the stolon look a little more complex than crunchy.
But what I really need to know is:
- How the replicas will synchronize with the master? synchronous or
asynchronous. - Whats the failover mechanism provided if any?
- persistence volumes why is there a volume per pod? How is this related to the replication?