Probes de Kubernetes

Autor: | Última modificación: 27 de mayo de 2022 | Tiempo de Lectura: 4 minutos
Temas en este post:

Kubernetes destaca por ser una de las plataformas más reconocidas del sector IT, pues no solo gestiona cargas de trabajo y servicios, sino que, además, cuenta con múltiples opciones y recursos que amplían sus funcionalidades. Dentro de estos recursos se encuentran los probes de Kubernetes, un diagnóstico periódico de los contenedores que contribuye a a que tantos estos como la plataforma puedan realizar sus labores de manera eficiente. Los probes resultan una opción fundamental para Kubernetes y, por eso, en este artículo te contamos qué son, cuáles son sus características y los tipos que existen.

¿Qué son los probes de Kubernetes?

Los probes de Kubernetes se refieren a un tipo de diagnóstico que se realiza de forma periódica por la herramienta de Kubelet dentro de un contenedor de la plataforma. Para llevar a cabo estos procesos, Kubelet se encarga de realizar la ejecución del código en el interior del contenedor o de hacer una solicitud de red.

Estos probes de Kubernetes pueden ser de tres tipos: livenessProbe, readinessProbe y startupProbe, cada uno encargado de un diagnóstico específico de los contenedores de la plataforma.

Cualquiera de los probes de Kubernetes cuentan con 3 posibles resultados que se pueden obtener dependiendo de la información encontrada por el diagnóstico realizado. Así pues, en caso de que el contenedor pase el diagnóstico, se arroja el resultado de Success, y en el caso contrario, cuando el container falla, se obtiene Failure. El tercer resultado posible es Unknown, que indica que el diagnóstico no se ha completado o que ha surgido algún inconveniente, en cuyo caso no tendrá que realizarse ninguna acción adicional, porque el mismo probe de Kubernetes se encargará de hacer futuras comprobaciones.

Comprobación de probes

Para comprobar el uso de los probes de Kubernetes en los contenedores, la plataforma cuenta con cuatro mecanismos diferentes que deben ser establecidos por cada uno de los probes. Dentro de estos mecanismos, se encuentran:

exec

Esta es una opción que se encarga de ejecutar un comando determinado en un contenedor. Para el éxito del diagnóstico, este código ejecutado debe arrojar un código de estado 0.

grcp

El siguiente de los mecanismos de comprobación de los probes de Kubernetes se encarga de la realización de una procedure call haciendo uso de la herramienta gRCP. Para que el diagnóstico de esta comprobación sea exitoso, debe arrojar como estado de la respuesta el indicador serving.

httpGet

🔴 ¿Quieres entrar de lleno al mundo DevOps & Cloud Computing? 🔴

Descubre el DevOps & Cloud Computing Full Stack Bootcamp de KeepCoding. La formación más completa del mercado y con empleabilidad garantizada

👉 Prueba gratis el Bootcamp en DevOps & Cloud Computing por una semana

Esta solicitud para los probes de Kubernetes se realiza sobre la dirección IP de un determinado recurso de pod y un puerto y ruta específico. En el caso de esta comprobación, el sistema la considera exitosa cuando se obtiene un código de estado que sea mayor o igual que 200 y menor de 400.

tcpSocket

Esta comprobación se realiza sobre la dirección IP del pod en un puerto determinado y su diagnóstico se considera aprobado cuando el puerto se abre. En el caso de que el contenedor sobre el que se realiza esta verificación termine la conexión de manera inmediata después de abrir el puerto, la respuesta sigue contando como exitosa.

Tipos de probes de Kubernetes

Los probes en Kubernetes pueden ser de tres tipos diferentes, sobre los que la herramienta de Kubelet tiene la capacidad de llevar a cabo o reaccionar al interior de los contenedores que se ejecutan en la plataforma. Estos tipos de probes son:

livenessProbe

Esta categoría de probe de Kubernetes se encarga de comprobar que las diferentes aplicaciones del usuario que se estén ejecutando en el interior del sistema se encuentren operando con normalidad. En el caso de que las aplicaciones no pasen el check, el sistema de Kubernetes llevará a cabo el reinicio del recurso de pod asociado.

Esa opción contribuye a la disponibilidad y la resiliencia de los pods de los contenedores y aplicaciones de Kubernetes.

readinessProbe

Este es un tipo de probes de Kubernetes que verifica si las aplicaciones ejecutadas en los contenedores estén preparadas para recibir tráfico y responder a las solicitudes que se le hagan. En el caso de que la comprobación no resulte exitosa, los servicios de Kubernetes no enviarán tráfico al pod y el controlador de endpoint se encargará de remover al pod asociado de todos los servicios. En caso de que el diagnóstico sea exitoso, la plataforma le enviará tráfico a los pods de las aplicaciones de manera habitual.

startupProbe

Esta categoría de probes de Kubernetes tiene la función de indicar si se han iniciado las aplicaciones en el interior de un contenedor del sistema. Debes tener en cuenta que los demás tipos de probes serán inhabilitados cuando se active el startupProbe hasta que este se lleve a cabo de forma correcta.

En caso de que este probe falle, la opción de Kubelet se encargará de eliminar el contenedor. Además de esto, tienes que saber que el estado por defecto de este probe es Success.

¿Cuál es el siguiente paso?

En este artículo has podido conocer qué son los probes de Kubernetes, además de cuáles son sus características, sus opciones y los tipos que existen dentro de la plataforma. Si te interesa aprender más sobre esa y otras herramientas del sector IT, no dudes en continuar con tu proceso de aprendizaje gracias a la formación de calidad que te ofrecemos en el DevOps & Cloud Computing Full Stack Bootcamp.

Con este bootcamp, en menos de 6 meses podrás convertirte en un experto del mundo tecnológico. ¡Anímate a inscribirte y sigue aprendiendo!

[email protected]

¿Sabías que hay más de 2.500 vacantes para ingenieros DevOps sin cubrir en España? 

En KeepCoding llevamos desde 2012 guiando personas como tú a áreas de alta empleabilidad y alto potencial de crecimiento en IT con formación de máxima calidad.

 

Porque creemos que un buen trabajo es fuente de libertad, independencia, crecimiento y eso ¡cambia historias de vida!


¡Da el primer paso!