Running Stateful Apps
Stateful services need stable identity, storage, and ordered startup.
Stateful apps like databases or queues need stable network identity and durable storage.
Core requirements
- Stable identity: predictable Pod names
- Durable storage: data survives Pod recreation
- Ordered startup/shutdown: avoid all replicas restarting together
Common stack
- StatefulSet + PVC
- Headless Service for stable DNS
- Backup and restore workflows
Practice tips
- Start with a single instance, then scale out
- Use
readinessProbeto avoid routing traffic too early
Practical notes
- Start with a quick inventory:
kubectl get nodes,kubectl get pods -A, andkubectl get events -A. - Compare desired vs. observed state;
kubectl describeusually explains drift or failed controllers. - Keep names, labels, and selectors consistent so Services and controllers can find Pods.
Quick checklist
- The resource matches the intent you described in YAML.
- Namespaces, RBAC, and images are correct for the target environment.
- Health checks and logs are in place before promotion.