L'utilisation de 'StatefulSet' avec une application distribuée qui exige que chaque nœud ait un état persistant et la possibilité de configurer un nombre quelconque de nœuds grâce à une configuration (répliques = 'X').
Tous les nœuds dans un master-configuration du maître et de l'esclave nœuds dans une configuration maître-esclave peut faire usage d'un StatefulSet avec un Service. Maître des nœuds (comme le maître, le maître-secondaire) peuvent chacun être un Pod avec certains persistante du volume avec un Service comme ces nœuds n'ont pas besoin à l'échelle vers le haut ou vers le bas. Ils peuvent aussi bien être un StatefulSet avec des répliques = 1.
Exemples de StatefulSet sont:
- Datanodes (esclaves) dans un cluster Hadoop (maître-esclave)
- Base de données des nœuds (master-master) dans un cluster Cassandra
Chaque Pod (réplique) dans un StatefulSet a
- Un unique et stable de l'identité de réseau
- Kubernetes crée un PersistentVolume pour chaque VolumeClaimTemplate
https://kubernetes.io/docs/concepts/workloads/controllers/statefulset/
'Déploiement' sur l'autre main est adapté pour les applications sans état/services où les nœuds ne nécessitent aucune identité particulière (un équilibreur de charge peut atteindre n'importe quel nœud qu'il choisit) et le nombre de nœuds peut être un nombre arbitraire.