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