Cette page décrit l'utilisation des objets StatefulSet dans Google Kubernetes Engine (GKE). Vous pouvez également apprendre à Déployer une application avec état.
À propos des objets StatefulSet
Un StatefulSet représente un ensemble de pods dotés d'identités uniques et persistantes et de noms d'hôtes stables que GKE conserve, quel que soit l'endroit où ils sont planifiés. Les informations d'état et autres données résilientes relatives à un pod d'un StatefulSet donné sont conservées dans des volumes persistants associés à chaque pod du StatefulSet. Les pods StatefulSet peuvent être redémarrés à tout moment.
Pour les applications sans état, utilisez les objets Déploiement.
Les StatefulSets fonctionnent de manière similaire dans GKE et dans Kubernetes. Ce document décrit les considérations spécifiques à GKE. Pour en savoir plus sur le fonctionnement des StatefulSets, consultez la documentation Kubernetes sur les StatefulSets.
Planifier la mise en réseau des StatefulSets
Les StatefulSets fournissent un espace de stockage persistant sous la forme d'un PersistentVolume et une identité réseau unique (nom d'hôte). Le tableau suivant répertorie les mises en garde que les opérateurs d'application doivent prendre en compte lors de la configuration d'un StatefulSet :
Mise en garde concernant la mise en réseau | Description | Bonne pratique |
---|---|---|
Services GKE au lieu d'adresses IP fixes |
Bien que les instances répliquées des pods aient un index ordinal unique, des volumes par instance et une identité réseau (nom d'hôte), les adresses IP attribuées à une instance répliquée peuvent changer si GKE replanifie ou évince un pod. |
Pour atténuer les problèmes de mise en réseau, l'architecture doit utiliser les ressources de service Kubernetes. Pour plus d'informations, consultez la section Types de services Kubernetes. |
Services sans interface graphique |
Lorsqu'il est initialisé, un StatefulSet est associé à un service sans interface graphique correspondant. |
Assurez-vous que le "metadata.name" de votre service correspond au champ |
Découverte de pairs |
Les applications avec état nécessitent un nombre minimal (quorum) d'instances dupliquées pour fonctionner avec une disponibilité complète. |
Les pods pouvant planter, être reprogrammés ou être évincés, chaque instance dupliquée d'un StatefulSet doit pouvoir quitter et rejoindre le quorum. Les applications nécessitant un appairage doivent avoir la possibilité de découvrir d'autres pairs via des services sans interface graphique dans Kubernetes. |
Vérification d'état basée sur des vérifications d'aptitude et d'activité |
Le cas échéant, votre application doit être correctement configurée pour les vérifications d'aptitude, d'activité et de démarrage. Le choix de délai avant expiration pour chaque vérification dépend des exigences de votre application. |
Pour les vérifications d'aptitude, suivez les bonnes pratiques ci-dessous pour configurer votre application de manière à indiquer qu'elle est prête à diffuser du trafic :
|
Pour en savoir plus sur les vérifications, consultez l'article Configurer des vérifications d'activité, d'aptitude et de démarrage.
Utiliser des StatefulSets
Pour découvrir comment déployer des StatefulSets dans votre cluster GKE et interagir avec eux, consultez la documentation Kubernetes sur les principes de base des StatefulSets.
Étapes suivantes
- Découvrez comment déployer une application avec état
- Découvrez comment mettre à jour des StatefulSets à l'aide de mises à jour progressives
- Apprenez-en plus sur le déploiement de charges de travail dans GKE
- Obtenez plus d'informations sur les StatefulSets dans la documentation de Kubernetes
- Suivez un tutoriel sur la mise à niveau d'un cluster exécutant une charge de travail avec état