Pregunta de entrevista para Site Reliability Engineer

Un pod está atascado en CrashLoopBackOff. ¿Cómo lo triagas?

Qué evalúa el entrevistador, cómo estructurar tu respuesta y un ejemplo hablado que puedes adaptar.

Respuesta rápida

Empieza con kubectl describe pod para ver los eventos y el último código de salida, y luego kubectl logs con --previous para leer la salida del contenedor que reventó. El código 137 suele significar una muerte por falta de memoria, así que revisa los límites de memoria; salida 1 o 2 suele significar que la app falló al arrancar, a menudo por una configuración o un secreto que falta o una dependencia inalcanzable. Confirma que la etiqueta de la imagen existe de verdad y comprueba si una liveness probe agresiva está causando el bucle.

Por qué lo preguntan los entrevistadores

Es una comprobación de competencia práctica: ¿sabes operar de verdad un clúster bajo presión o solo conoces los conceptos? Los entrevistadores quieren una secuencia concreta de comandos, el significado de los códigos de salida comunes y conciencia de que un bucle de reinicios a veces lo causa la plataforma (probes, límites de recursos, presión en el nodo) y no el código de la aplicación.

Cómo estructurar tu respuesta

  • Da la secuencia de comandos en orden, empezando por describe.
  • Lee el código de salida y tradúcelo a una clase de causa.
  • Usa los logs con --previous, ya que el contenedor actual puede no existir todavía.
  • Revisa causas de plataforma: límites, probes, secretos, descarga de imagen, presión en el nodo.
  • Di cómo estabilizarías mientras depuras.

Ejemplo de respuesta

Ejemplo hablado, en primera persona

kubectl describe pod primero, porque la sección de eventos normalmente te dice de entrada si es un fallo al descargar la imagen, un secreto que falta o una muerte por falta de memoria, y te da el último estado de terminación con el código de salida. Luego kubectl logs con --previous, ya que el contenedor en ejecución ya ha sido reemplazado y sus logs se han ido. La salida 137 es un SIGKILL y nueve de cada diez veces es el límite de memoria, así que comparo el límite con el uso real en vez de adivinar. La salida 1 con una traza de pila es un fallo de arranque de la aplicación, normalmente de configuración. También reviso la liveness probe, porque he visto un servicio Java perfectamente sano entrar en bucle de reinicios simplemente porque necesitaba 40 segundos para calentar y la probe le daba 10. Para depurar con calma escalo el deployment, entro con exec en una copia con el comando sobrescrito a sleep, y lo reproduzco ahí en lugar de pelearme con el temporizador de reinicios.

¿Tienes esta entrevista a la vuelta de la esquina? GhostPilot escucha tu llamada en vivo, detecta la pregunta en cuanto la hacen y pone una respuesta estructurada en tu pantalla en tiempo real. Pruébalo en tu próxima entrevista de práctica, o coge un Session Pass de $29, sin suscripción, para la de verdad.

Mira cómo funciona

Preguntas de seguimiento que puedes esperar

  • ¿Cómo depurarías un contenedor que revienta antes de escribir ningún log?
  • ¿Qué te dice el código de salida 137 y qué comprobarías después?
  • ¿Cómo mantienes vivo un pod que revienta el tiempo suficiente para inspeccionarlo?

Más preguntas para Site Reliability Engineer

Tu entrevistador hará su propia versión de esta. Pega la descripción real del puesto en el Question Predictor gratuito y obtén las 20 preguntas que ese puesto tiene más probabilidades de hacerte, con lo que cada una busca en realidad.

Predecir mis preguntas

Ensaya las preguntas difíciles antes de que te las hagan

Practica con un copiloto en vivo y entra preparado. Un Session Pass de $29 te lleva a través de la entrevista sin suscripción y sin ataduras.

Consigue GhostPilot