While StatefulSet is used for stateful applications, like databases, Deployment component is used to deploy stateless applications. Many web apps fall into this category.
So the question is:
What is the difference between Deployment and StatefulSet components? 🤔
Deployment vs StatefulSet component
Pods deployed by Deployment are identical and interchangeable, created in random order with random hashes in their Pod names.
In contrast to that, the Pods deployed by StatefulSet component are NOT identical and deployment is more complex. They each have their own sticky identity, which they keep between restarts and each can be addressed individually. Thus, they can't be created or deleted at the same time or in any order.
How these identities are created and why it's so important, I explain in detail in the below video 🎬.
You can find the full video here:
I'm happy to connect with you on 🙂
Top comments (3)
Thanks for sharing. It's very helpful. I was confused why statefulset is required.
It's used to create differentiate pods. Like master-slaves, leader-followers.
Thanks a lot, glad it's helpful :)
Ths!