Probes de Kubernetes

| Última modificación: 24 de abril de 2024 | Tiempo de Lectura: 4 minutos

Algunos de nuestros reconocimientos:

Premios KeepCoding

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

🔴 ¿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

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

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!

Xoán Mallón

Senior DevOps Engineer en Zscaler & Coordinador del Bootcamp DevOps & Cloud Computing.

Posts más leídos

¡CONVOCATORIA ABIERTA!

DevOps & Cloud Computing

Full Stack Bootcamp

Clases en Directo | Profesores en Activo | Temario 100% actualizado