This controller is new to Kubernetes and has been designed to replace PetSets. As you may have guessed by the name, pods maintain their state as part of a deployment. They are designed to have:
- Consistent unique network identifiers throughout the pod's life cycle
- Persistent storage
- Graceful deployment and scaling executed in the order you define
- User-defined and controlled automated rolling updates
So while there is a change in name, you should think of StatefulSets as pets and ReplicaSets as cattle.