Skip to content

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

Last updated · 476 distilled / 1,218 read