Malmo PostgreSQL User Group (M-PUG)
Running PostgreSQL on Kubernetes at Scale: Lessons from Adopting CloudNativePG
PostgreSQL and Kubernetes don’t always play nicely out of the box but the right operator can make all the difference. In this talk, we’ll walk through how and why Xata adopted the CloudNativePG (CNPG) operator to power our managed Postgres service, and what we’ve learned along the way.
We’ll begin with a quick primer on Kubernetes operators and their role in managing stateful workloads like Postgres, followed by a brief comparison of the CNPG operator with other major options like Crunchy and Zalando. Then we’ll share a high-level look at Xata’s platform architecture and how Postgres fits in.
The heart of the talk focuses on what we’ve built using CNPG, backups, hibernation/scale-to-zero, major version upgrades, and how we isolate workloads. We’ll also go into the real-world challenges we hit during implementation, including:
- A security issue in CNPG’s backup metadata handling (and the fix we contributed upstream)
- A potential Postgres pod escape risk and how we mitigated it
- Network-level controls to enforce isolation
- Lessons from scaling, upgrading, and managing multi-tenant clusters
If you're building a DBaaS on Kubernetes or running Postgres in production today, you’ll leave with practical insight into what to watch out for and why Kubernetes-native Postgres is worth the investment when done right.
Speaker:
Martin Hansen - is a Platform Engineer at Xata, based in Copenhagen. Since starting his career as a Systems Engineer, Martin has transitioned through roles in Site Reliability Engineering and now Platform Engineering. He enjoys building and making large distributed systems as reliable as possible and writing Go. Connect with him at dontbeevilpls@gmail.com
Agenda:
17:30 – 17:45 – Meet & Greet
17:45 – 18:30 – Presentation
18:30 – 19:00 – Meet & eat
19:00 – 20:00 – Q&A