Our great sponsors
-
kubegres
Kubegres is a Kubernetes operator allowing to deploy one or many clusters of PostgreSql instances and manage databases replication, failover and backup.
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
cloudnative-pg
CloudNativePG is a comprehensive platform designed to seamlessly manage PostgreSQL databases within Kubernetes environments, covering the entire operational lifecycle from initial deployment to ongoing maintenance
Somewhere between here and here i found out about that.
I like https://www.kubegres.io, it takes a little getting used to how it works. I probably wouldn't use it for a huge database, but for things under a few TB it works great.
This has a bunch of side-effects that break usual expectations around scheduling. For instance, cluster scale-down (for maintenance etc.) is blocked unless a specific taint has been added to each database pod. In addition, if the underlying node does fail, your cluster will be stuck in fail-over state until you manually delete the underlying pods. I think there are definitely other gotchas around this decision to use a custom controller but I have only tested this on GKE.