3 ms·
I wonder what do people think of Kubernetes operators for Postgres? They promise painless 0-downtime upgrades.
by vbezhenar 4y ago
I wonder what do people think of Kubernetes operators for Postgres? They promise painless 0-downtime upgrades.
- yjftsjthsd-h 4y agoAny chance you have enough experience to suggest a good option? This is something I guess I'm going to have to deal with soon
- CameronNemo 4y agoI used this one recently and it worked pretty well: https://github.com/zalando/postgres-operator https://github.com/zalando/postgres-operator
- vbezhenar 4y agoI did some research and most popular ones seem to be zolando and crunchy. I have zero experience, but going to deploy it for test environment to see how it goes.
- perrygeo 4y agohttps://www.kubegres.io/ https://www.kubegres.io/ has worked well for me. You can use custom images, provided they follow the conventions of the official postgres image. I haven't tried a major-version upgrade yet - my impression is that it will probably be a bit painful and involve some downtime and manual ops. Some of the more advanced operators might better handle the upgrade problem? But in general, I've been happy with Kubegres for a ~10GB database with low traffic.
- tempest_ 4y agoI don't keep up to date on all the k8s changes but a couple years ago wasnt the recommendation not to have your databases in k8s at all? What has changed between now and then where putting postgres into k8s is an option? Does the Postgres operator handle all the statefullness requirements and scheduling things that might be unique to pg?
- richbell 4y agoStatefulSets were added to handle things like this. It always seemed like an afterthought to me, appeasing people trying to run things that Kubernetes was never designed to handle. At $BIG_CORP our executives became very excited about "The Cloud" and many teams were forced to migrate their applications over. Didn't matter if it was a proper 12 factor application or a monolithic vendor JAR that required 64GB of ram. You were punished for using VMs, so teams spent an inordinate amount of time shoving square pegs into round holes.
- brainzap 4y agoPersonally I tried, but decided to have the production Postgres in dedicated VM. This allows to give more attention, more resources and less risks. For smaller setups and testing no problem in K8s.