Liveness y Readiness

Christian Altamirano Ayala
Kubernetes
Published in
1 min readApr 30, 2019

Algunas aplicaciones que desarrollamos por lo general no tienen un tiempo de startup de 0 segundos (osea al instante), por experiencia propia usando aplicaciones springboot estos demoran un aproximado de 10 a 30 segundos.

En ese sentido el poder tener una cierta regla que permita que el pod este disponible bajo ciertas pruebas nos permitira ofrecer aplicaciones menos tolerantes a fallos de cara a los cliente.

De la misma manera es importante conocer el estado de nuestra aplicacion dentro del Pod, ya que en caso de que nuestra aplicacion se haya colgado deberiamos reiniciarla.

Como solución a esas necesidades existen las pruebas de Liveness y readiness que nos permiten justamente validar el estado de nuestra aplicacion, en caso de no cumplir con los requisitos que pongamos, el pod sera reiniciado.

Estas validaciones pueden ser a nivel de http, tcp ,etc. tambien es posible especificar el delay y los periodos para hacer las pruebas.

A continuacion un ejemplo de su uso:

apiVersion: v1
kind: Pod
metadata:
name: kubia-liveness
spec:
containers:
-image: luksa/kubia-unhealthy
name: kubia
livenessProbe:
httpGet:
path: /
port: 8080
initialDelaySeconds: 15
periodSeconds: 10

readinessProbe:

httpGet:

path: /readiness

port: 8888

initialDelaySeconds: 300

periodSeconds: 3

Mas información:

https://kubernetes.io/docs/tasks/configure-pod-container/configure-liveness-readiness-probes/

--

--