this post was submitted on 19 Jun 2023
269 points (97.2% liked)
Programmer Humor
19735 readers
658 users here now
Welcome to Programmer Humor!
This is a place where you can post jokes, memes, humor, etc. related to programming!
For sharing awful code theres also Programming Horror.
Rules
- Keep content in english
- No advertisements
- Posts must be related to programming or programmer topics
founded 1 year ago
MODERATORS
you are viewing a single comment's thread
view the rest of the comments
view the rest of the comments
Why not?
Because dogma. There are tons of places running production postgres, and indeed many other stateful services, in Kubernetes.
Edit because presumably GP downvoted me for contradicting them, since I've personally overseen this in production at Fortune 100 companies and unicorn startups alike:
https://dok.community/
https://github.com/zalando/postgres-operator
And plenty of YouTube videos from various kubecons and CloudNativeCons. Kubernetes is a runtime and provides plenty of primitives for safely running stateful workloads even better than otherwise possible. Anyone who says otherwise hasn't bothered directly learning enough about the possibilities and is likely citing oft-quoted dogma that dates back to the earliest days of k8s and was questionable even then.
No, because of many factors:
The last 10 years, I managed 700 database Clusters. Anything from a few megs to terrabyte database sizes.
The main issues are:
And of course: maintainability. Especially in the PIT recovery.
Zalando has an open source operator + patroni bases images. They work for many cases, and are a great way if you can't manage postgresql on bare metal.
And of course: if you have everything running on k8s, running a few bare metal servers for a db is a pain in the ass, and in such cases it is if course better to just deploy an operator in your cluster and let it handle the heavy lifting like backup and replication.
Generally if someone tells you to never do something, even if they're a supposed authority, and they don't offer reasoning, it's probably better to investigate further.
Accidentally deleted. It said "why not?"