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:200
,301
,302
,303
,307
,401
,402
,403
,404
y405
.
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:
Comprende las diferencias importantes entre las verificaciones de estado heredadas y las divididas.
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
oreadiness_check
en el archivoapp.yaml
de cada versión. Si deseas ver ejemplos, consulta Verificaciones de funcionamiento y Verificaciones de preparación.Ejecuta el comando siguiente:
gcloud app update --split-health-checks --project [YOUR_PROJECT_ID]
Si usaste una configuración personalizada para las verificaciones de estado heredadas, debes quitar la sección
health_check
de tu archivoapp.yaml
.Implementa una versión principal nueva de tu app para comenzar a usar las verificaciones de funcionamiento y de preparación.