Une sonde de readiness contrôle si un pod reçoit du trafic ; une sonde de liveness contrôle si le kubelet redémarre le conteneur. L'erreur classique est de pointer la liveness vers une dépendance en aval, si bien qu'une base de données lente redémarre tous les pods en boucle et transforme une panne partielle en panne totale. La liveness ne devrait vérifier que le fait que le processus est vivant et non bloqué. Utilisez une sonde de startup pour les applications qui démarrent lentement.
Pourquoi les recruteurs posent cette question
C'est l'une des questions Kubernetes les plus rentables, parce qu'une mauvaise configuration provoque activement des pannes et que le mode de défaillance est contre-intuitif. Le recruteur veut vous entendre dire que la liveness est un dernier recours pour des états irrécupérables, que la readiness est le bon endroit pour vérifier les dépendances, et que les délais et seuils des sondes doivent refléter le vrai comportement au démarrage.
Comment structurer votre réponse
- Énoncez la différence mécanique : routage du trafic contre redémarrage du conteneur.
- Nommez l'anti-patron de la vérification de dépendance et son rayon d'impact.
- Expliquez ce que la liveness devrait vraiment vérifier.
- Ajoutez les sondes de startup et des seuils sensés pour les applications lentes à démarrer.
Exemple de réponse
La readiness décide si le pod figure dans les endpoints du service, la liveness décide si le kubelet tue et redémarre le conteneur. La panne que j'ai vraiment vue, c'est une équipe qui avait fait vérifier la base de données par l'endpoint de liveness. La base a ralenti, tous les pods ont échoué la liveness à peu près en même temps, tout le déploiement est parti en boucle de redémarrage, et au lieu de lectures dégradées on n'avait plus rien du tout, plus une ruée de connexions froides au retour. La liveness devrait être presque ennuyeuse : le processus peut-il servir un handler trivial, la boucle d'événements est-elle coincée. Tout ce qui touche aux dépendances appartient à la readiness, parce que sortir un pod de la rotation est réversible et bon marché. L'autre chose que je vérifie toujours, c'est le timing. Si l'application met 45 secondes à préchauffer ses caches, soit vous utilisez une sonde de startup, soit vous réglez initialDelaySeconds et failureThreshold en conséquence, sinon vous avez construit une machine qui ne peut jamais finir de démarrer.
Vous passez cet entretien bientôt ? GhostPilot écoute votre appel en direct, repère la question dès qu'elle est posée et affiche une réponse structurée à l'écran en temps réel. Essayez-le lors de votre prochain entretien blanc, ou prenez un Session Pass à $29, sans abonnement, pour le jour J.
Voir comment ça marcheQuestions de relance à prévoir
- Qu'arrive-t-il aux requêtes en cours quand une sonde de readiness commence à échouer ?
- Comment configureriez-vous les sondes pour une application avec 90 secondes de préchauffage ?
- Quand est-il correct que la liveness échoue volontairement ?
Autres questions pour Ingénieur SRE
Votre recruteur posera sa propre version de celle-ci. Collez votre véritable fiche de poste dans le Question Predictor gratuit et obtenez les 20 questions que ce poste a le plus de chances de poser, avec ce que chacune cherche vraiment à sonder.
Prédire mes questions