StatefulSet
DevOps 🔴 SeniorDefinition
Contrôleur pour applications stateful nécessitant une identité réseau stable et un stockage persistant. Les Pods ont des noms ordonnés (app-0, app-1).
Analogie
Des places de parking numérotées : chaque voiture (Pod) a toujours la même place et le même numéro.
Exemple de code
apiVersion: apps/v1
kind: StatefulSet
metadata:
name: mongo
spec:
serviceName: mongo
replicas: 3
volumeClaimTemplates:
- metadata: { name: data }
spec: { resources: { requests: { storage: 10Gi } } }
Cas d'usage
Déployer des bases de données (MongoDB, PostgreSQL) ou des systèmes distribués (Kafka).
Anti-pattern
Utiliser un StatefulSet pour une API stateless : surcomplication inutile.