Bases du cloud et des conteneurs
Dans une application web sur Kubernetes, la vérification effectuée par la sonde liveness a été étendue pour tester aussi si l'application peut se connecter à la base de données dont elle dépend. Quel est le problème le plus probable avec ce réglage ?
- AQuand la base de données s'arrête, les Pods sont automatiquement déplacés vers le nœud où tourne la base de données, ce qui dégrade les autres applications de ce nœud
- BUne brève indisponibilité de la base de données fait redémarrer à répétition les conteneurs de tous les Pods, ce qui retarde la reprise même après le retour de la base de données
- CQuand la sonde liveness échoue, le Pod est seulement retiré des destinations du Service : il ne se pose donc pas de problème particulier
Afficher la réponse et l'explication
Réponse : B. Une brève indisponibilité de la base de données fait redémarrer à répétition les conteneurs de tous les Pods, ce qui retarde la reprise même après le retour de la base de données
Une sonde liveness sert à rétablir, en le redémarrant, un conteneur qui ne répond plus lui-même (par exemple à cause d'un interblocage). Si elle vérifie aussi une dépendance, alors, quand la base de données s'arrête, les sondes liveness de tous les Pods échouent et les conteneurs sont redémarrés sans cesse, alors que le redémarrage ne règle rien. Pendant les redémarrages, aucune requête n'est traitée, et l'attente avant le redémarrage suivant peut s'allonger à mesure qu'ils se répètent : la reprise est donc retardée même après le retour de la base de données. Une sonde liveness ne doit vérifier que si le processus lui-même peut répondre, et l'état des dépendances se traite au besoin par des sondes readiness ou par la gestion d'erreurs de l'application.
Continuer : 9 autres questions sur Bases du cloud et des conteneurs