I am all new to Kubernetes. That said: I'm looking to add failover capabilities to an existing dockerized service which you'd probably consider as legacy service, in the sense that it requires an active/standby failover handling (full rationale will be rather long to describe, it has to do with spatial indexing and geo data processing where for a given scenario having multiple active instances will make things worse in regards to scalability and performance, e.g. sharding would get incredibly hard to handle).
My service is an HTTP REST service (in C++) and uses is a DB client to a distributed RQLite DB which stores all data managed by this service. I want to achieve the following:
- I want to have 3 RQLite services up and running continuously at all times, distributed to three nodes if possible (NB: RQLite itself uses RAFT with a default group of three).
- I also want to have 2-3 services of my own app running all time, one of them must be the master all others must remain in standby.
- Services must be able to know another (e.g. resolve IPs of RQLite instances)
I could have missed it, but don't whether active/standby is actively supported by Kubernetes. I've found some dated answers like the one here (How should application using active/passive redundant model be containerized using kubernetes?).
But before looking into many details which are all new to me, I'd like to get your rationale whether Kubernetes is actually the correct foundation for such kind of scenario (Nomad might be better for such "legacy" apps?)?
It would be great if you could provide a minimal example to demonstrate how Kubernetes can solve my failover wows.