¿Readiness probe frente a liveness probe?
Opciones
- Son idénticas, y ambas reinician el contenedor al fallar
- Si falla readiness, el pod deja de recibir tráfico; si falla liveness, se reinicia (Opción correcta)
- Liveness controla el tráfico; readiness reinicia el contenedor
- Ambas eliminan el pod del clúster al fallar una vez
Respuesta
Si falla readiness, el pod sale del tráfico del Service; si falla liveness, se reinicia el contenedor
Por qué
Kubernetes llama con regularidad a los endpoints de salud de tu app.
- Readiness: '¿puedes atender peticiones ahora?' Si no (aún arrancando, calentando una caché), el Pod no recibe tráfico, pero no se reinicia.
- Liveness: '¿sigues funcionando?' Si no (atascado, en deadlock), el contenedor se reinicia.
No compruebes la base de datos en el liveness probe: una caída de la base de datos reiniciaría todos tus Pods a la vez.
Recuerda
Readiness = ¿enviar tráfico? Liveness = ¿reiniciar?