Une sonde liveness qui échoue fait redémarrer le conteneur par le kubelet, donc c'est pour un processus coincé qui ne peut pas s'en sortir seul. Une sonde readiness qui échoue retire le pod des endpoints du Service, il cesse donc de recevoir du trafic, mais il continue de tourner. Les sondes startup couvrent les applications lentes à démarrer pour qu'un long démarrage ne déclenche pas la liveness. La liveness doit vérifier le processus lui-même, pas ses dépendances.
Pourquoi les recruteurs posent cette question
C'est une petite question qui expose de façon fiable l'expérience réelle. Quiconque a fait tourner Kubernetes pour de vrai a déjà vu une sonde liveness branchée sur un health check profond faire tomber tout un déploiement pendant un hoquet de dépendance. Le recruteur veut cette distinction, plus la connaissance des sondes startup, plus une compréhension de la façon dont la readiness interagit avec les rolling updates et l'arrêt propre.
Comment structurer votre réponse
- Donnez la différence en une ligne : redémarrage contre retrait du trafic.
- Expliquez ce que chaque sonde devrait vraiment vérifier.
- Nommez l'échec classique d'une sonde liveness qui teste ses dépendances.
- Ajoutez les sondes startup et le lien avec les rolling updates.
Exemple de réponse
La readiness répond à est-ce que ce pod peut prendre du trafic maintenant, et la liveness répond à est-ce que ce processus est irrécupérable. Si la readiness échoue, le contrôleur d'endpoints retire le pod du Service, le trafic s'arrête, et le pod continue de tourner pour pouvoir se rétablir. Si la liveness échoue, le kubelet tue et redémarre le conteneur. L'erreur que je vois le plus souvent, c'est un endpoint de liveness qui vérifie la base de données et le cache. Là, la base a un tremblement de trente secondes, tous les réplicas échouent la liveness en même temps, tout le déploiement redémarre, et vous vous retrouvez avec un cache froid et un effet de troupeau par-dessus le problème initial. Donc la liveness vérifie uniquement que le processus répond, et c'est dans la readiness que les vérifications de dépendances ont leur place, parce que perdre du trafic temporairement est réversible. Pour un service qui met quatre-vingt-dix secondes à chauffer, j'ajoute une sonde startup avec un seuil d'échec généreux pour que la liveness ne démarre pas avant qu'il soit prêt. La readiness pilote aussi les rolling updates, donc je m'assure qu'elle bascule en not ready au début de l'arrêt, avant que le processus cesse d'accepter des connexions.
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
- Comment les sondes readiness interagissent-elles avec l'arrêt propre et les hooks preStop ?
- Que se passe-t-il pendant un rolling update si la readiness ne passe jamais ?
- Quand utiliseriez-vous une sonde startup plutôt qu'un long délai initial ?
Autres questions pour Ingénieur DevOps
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