Sobes.tech
Junior

Quels sont les types de tests pour vérifier l'état des services et des applications?

sobes.tech IA

Réponse de l'IA

Il existe plusieurs types courants de probes:

  • Probe de vivacité (Liveness): Détermine si l'application fonctionne. Si la probe échoue, Kubernetes redémarre le pod. Utilisée pour détecter les processus bloqués.

    • Probes HTTP Get : Envoie des requêtes HTTP GET vers le chemin et le port spécifiés.
    • Probes de socket TCP : Vérifie la possibilité de se connecter au port spécifié.
    • Probes d'exécution : Exécute une commande dans le conteneur et vérifie le code de sortie.
  • Probe de disponibilité (Readiness): Détermine si le pod est prêt à recevoir du trafic. Si la probe échoue, le service ne dirige pas le trafic vers ce pod. Utilisée pour déterminer la disponibilité de l'application après le démarrage ou lors de la mise à jour.

    • Utilise les mêmes mécanismes que les probes de vivacité (HTTP Get, socket TCP, exécution).
  • Probe de démarrage (Startup): Détermine si l'initialisation de l'application est terminée. Si la probe est configurée, Kubernetes n'effectuera pas les probes de vivacité et de disponibilité jusqu'à ce que la probe de démarrage réussisse. Utile pour les applications qui démarrent lentement, pour éviter les redémarrages prématurés.

    • Utilise les mêmes mécanismes que les autres probes.

Exemple de configuration dans Kubernetes:

livenessProbe: # Vérification de la vivacité
  httpGet: # Par HTTP
    path: /healthz # Chemin
    port: 8080 # Port
  initialDelaySeconds: 15 # Délai avant la première vérification
  timeoutSeconds: 1 # Temps d'attente de la réponse
readinessProbe: # Vérification de la disponibilité
  tcpSocket: # Par TCP
    port: 8080 # Port
  initialDelaySeconds: 5 # Délai avant la première vérification
  periodSeconds: 10 # Intervalle entre les vérifications