Currículum
Curso: Kubernetes Masterclass para principiantes
Acceso

Curriculum

Kubernetes Masterclass para principiantes

Video lesson

Liveness Probe

El Liveness Probe en Kubernetes es una verificación utilizada para determinar si un contenedor dentro de un Pod está funcionando correctamente. Si el Liveness Probe detecta que el contenedor ha fallado o está en un estado no saludable, Kubernetes tomará medidas para reiniciarlo. Este probe es útil para situaciones en las que las aplicaciones pueden fallar o quedarse bloqueadas, pero el contenedor sigue ejecutándose. El reinicio del contenedor puede ayudar a restaurar la aplicación sin necesidad de intervención manual.

Métodos de Liveness Probe:

Al igual que el Readiness Probe, el Liveness Probe puede utilizar diferentes métodos para verificar la salud del contenedor:

  1. HTTP GET Probe: Se realiza una solicitud HTTP a un endpoint especificado del contenedor. Si el endpoint devuelve un código de estado entre 200 y 399, el contenedor se considera saludable.

  2. TCP Socket Probe: Intenta conectarse a un puerto TCP en el contenedor. Si la conexión es exitosa, el contenedor está en buen estado.

     

  3. Exec Command Probe: Ejecuta un comando dentro del contenedor. Si el comando devuelve un código de salida 0, el contenedor se considera saludable.

     

Parámetros comunes:

  • initialDelaySeconds: Tiempo que Kubernetes espera después de iniciar el contenedor antes de realizar la primera verificación.
  • periodSeconds: Frecuencia con la que Kubernetes ejecuta la verificación de liveness.
  • timeoutSeconds: Tiempo que Kubernetes espera la respuesta del probe antes de considerarlo fallido.
  • successThreshold: Número de veces consecutivas que la verificación debe pasar antes de que el contenedor se considere saludable.
  • failureThreshold: Número de veces consecutivas que la verificación debe fallar antes de que el contenedor se reinicie.

Cuándo usar Liveness Probe:

  • Aplicaciones que se cuelgan: Si tienes una aplicación que puede quedarse en un estado bloqueado o inactivo y no se recupera por sí sola, el Liveness Probe puede ayudar a reiniciarla automáticamente.
  • Fugas de memoria: Si la aplicación sufre de una fuga de memoria y eventualmente se queda sin recursos, se puede reiniciar con un Liveness Probe antes de que la situación empeore.
  • Verificaciones periódicas: Si necesitas verificar continuamente el estado de salud de tu aplicación más allá de la fase de inicio.

Buenas prácticas:

  • No utilizar Liveness Probe si tu aplicación no es susceptible de bloquearse, ya que podría provocar reinicios innecesarios.
  • Configura el initialDelaySeconds y periodSeconds adecuadamente para evitar chequeos prematuros antes de que la aplicación esté completamente lista.
  • Si la aplicación tiene su propio mecanismo de verificación de estado (como un endpoint /healthz), úsalo para asegurar una respuesta precisa en las pruebas de liveness.

En resumen, el Liveness Probe es una herramienta esencial para garantizar que los contenedores de Kubernetes no se queden en estados no funcionales, ayudando a mejorar la resiliencia de las aplicaciones al permitir reinicios automáticos en caso de fallas.