Probes sur Kubernetes
Introduction aux sondes Kubernetes
Kubernetes utilise des sondes pour surveiller la santé des conteneurs déployés dans un cluster.
Ces sondes sont essentielles pour assurer la stabilité et la disponibilité des applications. Parmi elles,
les deux plus courantes sont la LivenessProbe et la ReadinessProbe. Cet article
détaille leur déclaration, fonctionnement et différence via des explications techniques et illustrations.
Déclaration et fonctionnement de LivenessProbe
La LivenessProbe permet à Kubernetes de détecter si un conteneur est devenu non fonctionnel (bloqué ou en erreur).
Si la sonde échoue, Kubernetes redémarre automatiquement le conteneur concerné.
Exemple de déclaration YAML
livenessProbe:
httpGet:
path: /healthz
port: 8080
initialDelaySeconds: 15
periodSeconds: 20
Explications des paramètres :
httpGet: vérifie via une requête HTTP sur le chemin /healthz au port 8080.initialDelaySeconds: délai d’attente avant la première vérification.periodSeconds: fréquence des vérifications.


« La LivenessProbe améliore la résilience en s’assurant que les conteneurs défectueux sont automatiquement redémarrés sans intervention manuelle. »
Déclaration et rôle de ReadinessProbe
La ReadinessProbe indique à Kubernetes si un conteneur est prêt à recevoir du trafic. Un conteneur non prêt sera temporairement exclu du service.
Exemple de déclaration YAML
readinessProbe:
tcpSocket:
port: 3306
initialDelaySeconds: 5
periodSeconds: 10
Détails : Ici, la sonde teste la connectivité TCP au port 3306 (par exemple, serveur de base de données) pour déterminer la préparation.


Bonnes pratiques et conseils
- Bien définir les délais
initialDelaySecondspour éviter les faux positifs lors du démarrage de vos applications. - Choisir le type de sonde adapté :
httpGet,tcpSocketouexecselon votre besoin. - Ne jamais confondre
LivenessProbeetReadinessProbe: la première gère la vie du conteneur, la seconde son trafic. - Tester vos sondes en environnement de développement avant de les appliquer en production.