Details
We'll start with why you'd want Plone on Kubernetes at all, then walk the puzzle pieces that make it actually thrive:
* Storage — zodb-pgjsonb puts ZODB on PostgreSQL as JSONB (powered by a Rust pickle-to-JSON codec), with zodb-s3blobs sending blobs to S3 where they belong.
* Catalog & media — plone-pgcatalog moves search into the database, plone-pgthumbor hands image scaling to Thumbor.
* Deployment — cdk8s-plone describes your whole stack as real code and generates clean manifests instead of hand-edited YAML.
* Caching — cloud-vinyl, a Kubernetes operator for Vinyl Cache (the FOSS successor to Varnish), so your pods stop re-rendering the same page for the hundredth time.
* Observability — plone.observability gives honest liveness/readiness/startup probes and real Prometheus metrics, because Plone's cheerful @@ok keeps saying OK right up until it can't answer at all — with a nod to cdk8s-monitoring, Grafana and Tempo.
* Infrastructure — and because none of this runs on wishful thinking, the parts you bring along: CloudNativePG for PostgreSQL, an S3-compatible object store (MinIO or AWS) for blobs, Thumbor for images, and a Prometheus/Grafana/Tempo stack for metrics and traces.
No single deep dive — this is the map, the pieces, and how they click together, so you leave knowing what a production-grade, cloud-native Plone actually looks like and where to start building your own.

