Blog
Thoughts on engineering, design, and building great products.
StatefulSet: stable identity and order
A Deployment treats every pod as an anonymous school of fish — any one is interchangeable. But a database, message queue, or etcd is not: each node needs a fixed identity and its own data. The StatefulSet exists for exactly that need. This article digs into its four guarantees — stable names, per-pod DNS via a headless service, ordered creation and deletion — verifying each on a real cluster, and leaving the volume part for the Storage section.
Workload Types: StatefulSet, DaemonSet, Job and CronJob
Deployment fits stateless apps, but not everything is stateless. StatefulSet is for apps that need a stable identity (databases), DaemonSet for things that must run on every node (log agents), Job/CronJob for run-then-done tasks. This article runs each type for real and shows when to use which.