A Helm chart writes objects when you run helm install or helm upgrade ,
and then it is done. An operator runs in the cluster, watches a custom
resource and keeps acting on it. For a stateless app the difference
hardly matters. For a database it decides what happens when the primary
goes away at night.
This post installs PostgreSQL both ways on the same kind cluster and
measures three things: how long writes stop when the primary pod is
deleted, how long they stop when a parameter that needs a restart
changes, and what happens when someone deletes the Service that clients
use.
Setup
One kind v0.33.0 cluster with a single node running Kubernetes 1.37.0,
Helm 4.3.1, and each setup in its own namespace:
Chart: the Bitnami postgresql chart 18.12.14 from oci://registry-1.docker.io/bitnamicharts/postgresql , with architecture=replication and two read replicas. Its default image is bitnami/postgresql:latest , the only tag Bitnami still publishes for free.…