Question d'entretien pour Ingénieur DevOps

Comment fixez-vous les requests et les limits CPU et mémoire d'une charge de travail ?

Ce que le recruteur cherche à évaluer, comment structurer votre réponse et un exemple parlé à adapter.

Réponse rapide

Fixez les requests à partir de l'usage observé, typiquement autour de la médiane pour le CPU et près du pic pour la mémoire, parce que les requests pilotent l'ordonnancement et la capacité. Fixez la limite mémoire près de la request, puisque la dépasser fait tuer le conteneur, et soyez prudent avec les limits CPU parce qu'elles provoquent du throttling qui apparaît comme une latence inexpliquée. Revoyez les chiffres avec des données réelles au lieu de les copier d'un service à l'autre.

Pourquoi les recruteurs posent cette question

C'est une question pratique où les mauvaises réponses causent de vraies douleurs en production, et le recruteur a probablement des cicatrices. Il veut que vous sachiez que le CPU est compressible et la mémoire non, que les limits CPU provoquent du throttling plutôt qu'un ralentissement gracieux, et que les requests déterminent à la fois l'ordonnancement et le coût du cluster. Mentionner les classes de qualité de service et la façon de mesurer l'usage montre de la profondeur.

Comment structurer votre réponse

  • Expliquez que les requests pilotent l'ordonnancement et les limits l'application des plafonds.
  • Séparez le CPU de la mémoire parce qu'ils se comportent différemment.
  • Donnez une méthode pour arriver aux chiffres à partir de données réelles.
  • Mentionnez le throttling, les kills pour dépassement mémoire, et la qualité de service.

Exemple de réponse

Exemple parlé, à la première personne

Les requests, c'est ce que l'ordonnanceur utilise pour placer le pod et ce que vous payez en réalité, et les limits, c'est le plafond que le runtime fait respecter. Les deux ressources se comportent complètement différemment. Le CPU est compressible, donc atteindre une limite CPU veut dire que le conteneur est throttlé, et ça apparaît comme des pics de latence sans cause évidente, ce qui est horrible à déboguer. La mémoire n'est pas compressible, donc dépasser la limite mémoire veut dire que le conteneur est tué net. D'où mes réglages par défaut : la request CPU vient de la médiane d'usage observée avec un peu de marge, et je suis en général prudent avec les limits CPU sur les services sensibles à la latence, ou alors je les mets généreuses. Pour la mémoire, je mets la request près du pic réaliste et la limite proche de celle-ci, comme ça une fuite échoue vite et de façon visible plutôt que de grignoter le noeud en silence. Je tire les chiffres de deux semaines de percentiles d'usage réel, pas d'une copie d'un autre service, et je les revois après les tests de charge. L'autre face, c'est que des requests gonflées sont la principale raison pour laquelle des clusters ont l'air vides et n'arrivent quand même pas à ordonnancer quoi que ce soit.

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 marche

Questions de relance à prévoir

  • Que se passe-t-il pour un pod qui dépasse sa limite mémoire ?
  • Pourquoi pourriez-vous délibérément omettre une limite CPU ?
  • Comment les classes de qualité de service affectent-elles l'ordre d'éviction ?

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

Répétez les questions difficiles avant qu'on vous les pose

Entraînez-vous avec un copilote en direct, puis présentez-vous prêt. Un Session Pass à $29 vous accompagne pendant l'entretien, sans abonnement et sans engagement.

Obtenir GhostPilot