We use analytics cookies.We use cookies to analyze site traffic and improve your experience.
Loading...
System Design Masterclass · Kubernetes Containers
Free preview: the first 2 parts of this 6-part lesson.
Already bought the course? Sign in to read the whole lesson.
this lesson is part of
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design courseread the rest of this lesson in
System Design Masterclass
Unlock this lesson and the 751 other paid lessons
$25 once, by PayPal
See the System Design coursein Kubernetes Containers
This lesson is part of the full System Design Masterclass. Unlock it along with 769 other lessons for a one-time payment.
One-time payment by card or PayPal
Get Lifetime AccessOne-time payment: UPI, card or netbanking
Get Lifetime Access18 Foundation lessons are free, no payment needed. Try them now
It is easy and good
“It is really nice and good Please join the course”
StatefulSets give you stable identities, ordered deployment, and persistent storage. But running a production PostgreSQL cluster on Kubernetes requires much more: configuring streaming , managing automatic failover, handling backup schedules, performing rolling upgrades that respect replication lag, and managing connection pooling.
A human database administrator knows all of this. They know that before upgrading the primary, you should ensure the replica is caught up. They know that failover requires promoting the replica, updating , and reconnecting poolers. They know that backups should go to S3 with point-in-time recovery.
An Operator encodes this human knowledge into a controller. Instead of a StatefulSet that manages pods generically, the PostgreSQL Operator understands PostgreSQL-specific lifecycle operations. It knows how to initialize clusters, configure replication, perform failovers, manage backups, and handle upgrades, all automatically.
An Operator extends with:
Example. PostgreSQL Operator:
apiVersion: acid.zalan.do/v1
kind: postgresql
metadata:
name: my-cluster
spec:
numberOfInstances: 3
postgresql:
version: "16"
volume:
size: 50Gi
enableConnectionPooler: true
backup:
s3Bucket: my-backups
schedule: "0 */6 * * *"
From this single manifest, the Operator:
Popular Operators:
| Operator | Manages | Complexity Encoded |
|---|---|---|
| CloudNativePG | PostgreSQL | Replication, failover, backups, PITR |
| Strimzi | Broker management, topic CRUD, rolling upgrades | |
| Elastic Operator | Cluster scaling, rolling restarts, snapshots | |
| Operator | Redis | Sentinel setup, failover, cluster mode |
| Operator | Prometheus | Scrape config, alerting rules, federation |