I want to deploy high avaliable web apps that require a MySQL database on a multi note Kubernetes cluster. Having never deployed any SQL cluster, I learned that there are master-master and master-slave configurations.
The MariaDB chart seems only fit master-slave configuration. I deployed it on a test machine and got 1 master and 1 slave. My problem here is that changes from master got replicated to the slave. But not the other way round. If I write on a slave, the new data remains locally, which seems a big pitfail for my use case when some data got replicated and other don't.
It seems that I need master-master replication so any app instance can use any sql server instance for reading and writing data. According to this comparisation, only oracle mysql-operator supports multiple masters. But this project is alpha.
So my questions are:
- Is master-master replication correct for my use case? Much of the ressources cover master-slave like also the helm chart, so I'm unsure if I may have some misunderstanding
- Do we have stable tools for master-master mysql replication using MySQL or MariaDB on Kubernetes without having to manually write yaml or Helm charts?
- Are there other ways to reach my goal of a HA MySQL/MariaDB cluster on Kubernetes?