Migra de verificaciones de estado heredadas a divididas

A partir del 15 de septiembre de 2019, si utilizas las verificaciones de estado heredadas, tu aplicación seguirá ejecutándose y recibiendo verificaciones de estado, pero no podrás implementar versiones nuevas de ella.

En esta página, se explica cómo actualizar las verificaciones de estado heredadas a las verificaciones de estado divididas.

Comprueba tu tipo de verificación de estado

Para confirmar el tipo de verificaciones de estado que usa tu aplicación, ejecuta el siguiente comando:

gcloud app describe

Si tu aplicación emplea verificaciones de estado divididas, la descripción debe incluir la siguiente información:

featureSettings:
    splitHealthChecks: true

Comprende las diferencias clave

Antes de actualizar a las verificaciones de estado divididas, considera las siguientes diferencias importantes entre las verificaciones heredadas y las divididas:

  • Las solicitudes HTTP para verificaciones de estado divididas no se reenvían de forma predeterminada. Por el contrario, las verificaciones de estado heredadas reenvían la ruta /_ah/health de la aplicación de forma predeterminada.

  • Las verificaciones de estado divididas reenviadas deben mostrar 200 OK cuando estén en buen estado y listas. Las verificaciones de estado heredadas consideran que los siguientes códigos HTTP son correctos: 200301, 302303307, 401402403, 404 y 405.

Según la configuración predeterminada, las verificaciones de estado divididas solo confirman que la instancia de VM y el contenedor de Docker están en ejecución si no especificas una ruta de verificación de funcionamiento ni una ruta de verificación de preparación. Mientras se cumplan estas condiciones, la VM recibirá tráfico y permanecerá activa independientemente del estado interno de la app.

Por el contrario, cuando las verificaciones de estado heredadas están habilitadas, si la ruta /_ah/health de la app comienza a mostrar códigos de error HTTP de mal estado (p. ej., 5XX), las verificaciones de estado heredadas fallarán, la VM dejará de recibir tráfico y se reiniciará.

Si tu app depende del comportamiento predeterminado de las verificaciones de estado heredadas, configura la ruta de verificación de funcionamiento y la ruta de verificación de preparación según corresponda.

Convierte las opciones de verificación de estado heredada

Cada opción de verificación de estado heredada se puede reescribir mediante verificaciones de estado divididas de la siguiente manera:

Opción Mantén el mismo comportamiento en las verificaciones de estado divididas
enable_health_check Si la opción está configurada como True o no está configurada, configura liveness_check.path y readiness_check.path para una ruta en la app que muestra 200 OK cuando la app está en buen estado.
check_interval_sec Configura liveness_check.check_interval_sec y readiness_check.check_interval_sec con el mismo valor.
timeout_sec Configura liveness_check.timeout_sec y readiness_check.timeout_sec con el mismo valor.
unhealthy_threshold Configura readiness_check.failure_threshold con el mismo valor.
healthy_threshold Configura liveness_check.success_threshold y readiness_check.success_threshold con el mismo valor.
restart_threshold Configura liveness_check.failure_threshold con el mismo valor. Ten en cuenta que el valor de la opción check_interval_sec multiplicado por la opción failure_threshold es el tiempo que se tardará en quitar una VM en mal estado.

Habilita las verificaciones de estado divididas

Para migrar de las verificaciones de estado heredadas a las verificaciones de estado divididas y evitar ver códigos de estado 5xx elevados, realiza los siguientes pasos:

  1. Comprende las diferencias importantes entre las verificaciones de estado heredadas y las divididas.

  2. Convierte las opciones de verificación de estado heredadas de cada versión de tu aplicación.

    También puedes personalizar la sección liveness_check o readiness_check en el archivo app.yaml de cada versión. Si deseas ver ejemplos, consulta Verificaciones de funcionamiento y Verificaciones de preparación.

  3. Ejecuta el comando siguiente:

    gcloud app update --split-health-checks --project [YOUR_PROJECT_ID]
  4. Si usaste una configuración personalizada para las verificaciones de estado heredadas, debes quitar la sección health_check de tu archivo app.yaml.

  5. Implementa una versión principal nueva de tu app para comenzar a usar las verificaciones de funcionamiento y de preparación.