SYSTEM Cited by 1 source
Zalando Postgres Operator¶
What it is¶
The Zalando Postgres Operator is an open-source Kubernetes operator for managing Postgres clusters, developed by Zalando (github.com/zalando/postgres-operator). It deploys and manages Postgres clusters (via the companion Spilo Docker image), handles high-availability failover through Patroni, and exposes cluster-lifecycle operations as Kubernetes Custom Resources.
Release 1.5 (2020) added built-in connection-pooling support using PgBouncer as the default pooler, with a pluggable-shape interface so other poolers (Pgpool-II, Odyssey, pgagroal) could be swapped in if they conform to a basic common standard.
Connection-pooling topology (release 1.5)¶
- Single pooler Deployment per Postgres cluster, exposed via a dedicated Kubernetes Service.
- Pooler pods spread across availability zones for availability.
- Pooler pods are CPU-intensive, low-memory (<100 MB per pod in simple cases) — "it makes sense to create as many as needed to prevent resource saturation."
- Trade-off acknowledged: AZ-spread pods incur latency variability from cross-AZ hops.
- Escape hatch: operators can manually create a single "big" pooler instance with node-affinity to the database and a smaller secondary pooler for HA — the patterns/big-pooler-affinity-plus-small-pooler-ha pattern.
Seen in¶
- sources/2020-06-23-zalando-pgbouncer-on-kubernetes-minimal-latency — the 1.5 connection-pooling launch context. Kukushkin explores the latency implications on Kubernetes: non-uniform load via iptables kube-proxy, hyperthreading-induced softirq latency, and CPU Manager static policy as mitigation. Establishes Zalando's default-shape choice: AZ-spread pooler Deployment with documented single-node-affinity escape hatch.
Related¶
- systems/postgresql — the managed database.
- systems/pgbouncer — the default pooler.
- systems/kubernetes — the substrate.
- companies/zalando — the author.
- patterns/connection-pooler-as-separate-deployment — the canonical topology instantiated here.
- patterns/big-pooler-affinity-plus-small-pooler-ha — the operator-documented escape hatch.