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.

Diagramme illustrant le cycle de la LivenessProbe dans Kubernetes

« 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.

Illustration stylisée d'une ReadinessProbe signalant la disponibilité d'un conteneur

Bonnes pratiques et conseils

  • Bien définir les délais initialDelaySeconds pour éviter les faux positifs lors du démarrage de vos applications.
  • Choisir le type de sonde adapté : httpGet, tcpSocket ou exec selon votre besoin.
  • Ne jamais confondre LivenessProbe et ReadinessProbe : 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.