¿Qué tipos de pruebas existen para verificar el estado de los servicios y aplicaciones?
sobes.tech AI
Respuesta de la IA
Existen varias formas comunes de sondas:
-
Sonda de Vida: Determina si la aplicación está funcionando. Si la sonda falla, Kubernetes reinicia el pod. Se usa para detectar procesos colgados.
- Sondas HTTP Get: Envía solicitudes HTTP GET a la ruta y puerto especificados.
- Sondas de Socket TCP: Verifica la posibilidad de conectarse al puerto especificado.
- Sondas de Ejecución: Ejecuta un comando dentro del contenedor y verifica el código de retorno.
-
Sonda de Disponibilidad: Determina si el pod está listo para recibir tráfico. Si la sonda falla, el servicio no envía tráfico a ese pod. Se usa para determinar la disponibilidad de la aplicación después del inicio o durante la actualización.
- Usa los mismos mecanismos que las sondas de Vida (HTTP Get, Socket TCP, Ejecución).
-
Sonda de Inicio: Determina si la inicialización de la aplicación ha finalizado. Si la sonda está configurada, Kubernetes no realizará las sondas de Vida y Disponibilidad hasta que la Sonda de Inicio pase con éxito. Es útil para aplicaciones que tardan en iniciarse, para evitar reinicios prematuros por la Sonda de Vida.
- Usa los mismos mecanismos que otras sondas.
Ejemplo de configuración en Kubernetes:
livenessProbe: # Verificación de vida
httpGet: # Por HTTP
path: /healthz # Ruta
port: 8080 # Puerto
initialDelaySeconds: 15 # Retraso antes de la primera verificación
timeoutSeconds: 1 # Tiempo de espera de respuesta
readinessProbe: # Verificación de disponibilidad
tcpSocket: # Por TCP
port: 8080 # Puerto
initialDelaySeconds: 5 # Retraso antes de la primera verificación
periodSeconds: 10 # Intervalo entre verificaciones