Sobes.tech
Junior

¿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