Configura verificaciones de estado del contenedor para grupos de trabajadores

Puedes configurar sondeos de inicio de HTTP, TCP y gRPC, junto con sondeos de funcionamiento de HTTP y gRPC para grupos de trabajadores nuevos y existentes de Cloud Run. La configuración varía según el tipo de sondeo.

Casos de uso

Puedes configurar dos tipos de sondeos de verificación de estado:

  • Los sondeos de funcionamiento determinan si el contenedor se debe reiniciar.

    • En este caso, reiniciar un contenedor puede aumentar la disponibilidad del grupo de trabajadores en caso de errores.
    • Los sondeos de funcionamiento están diseñados para reiniciar instancias individuales que no se pueden recuperar de ninguna otra manera. Se deben usar en particular para fallas de instancias irrecuperables, por ejemplo, para detectar un interbloqueo en el que se ejecuta un grupo de trabajadores, pero no puede avanzar. Puedes solicitar una prueba en funcionamiento para cada contenedor con políticas de la organización personalizadas.
  • Los sondeos de inicio determinan si se inició el contenedor.

    • Cuando configuras un sondeo de inicio, las verificaciones de funcionamiento se inhabilitan hasta que el sondeo de inicio determina que el contenedor se inicia para evitar interferencias en el inicio del grupo de trabajadores.
    • Los sondeos de inicio son útiles en especial si usas verificaciones en funcionamiento en contenedores de inicio lento, ya que evita que se cierren prematuramente antes de que los contenedores estén en funcionamiento.

Ten en cuenta que, cuando un grupo de trabajadores experimenta fallas repetidas de sondeo o inicio de funcionamiento, Cloud Run limita los reinicios de las instancias para evitar bucles de fallas no controlados.

Asignación de CPU

  • La CPU siempre se asigna cuando se ejecutan los sondeos.
  • Todos los sondeos se facturan por el consumo de CPU y memoria.

Requisitos y comportamiento del sondeo

Tipo de sondeo Requisitos Comportamiento
Inicio de TCP Ninguno Si se especifica, Cloud Run realiza una conexión TCP para abrir el socket TCP en el puerto especificado. Si Cloud Run no puede establecer una conexión, indica un error.

Si un sondeo de inicio no se realiza de forma correcta dentro del tiempo especificado, Cloud Run cierra el contenedor. El tiempo máximo es de 240 segundos, que se calcula como failureThreshold * periodSeconds, y se establece cuando configuras el sondeo de inicio para el grupo de trabajadores.
Inicio de HTTP Crea un extremo de verificación de estado HTTP
Usa HTTP/1
Después de configurar el sondeo, Cloud Run realiza una solicitud HTTP GET al extremo de verificación de estado del grupo de trabajadores (por ejemplo, /ready). Cualquier respuesta entre 200 y 400 es correcta, y todo lo demás indica un error.

Si un sondeo de inicio no se realiza de forma correcta dentro del tiempo especificado (failureThreshold * periodSeconds), que no puede superar los 240 segundos, Cloud Run cierra el contenedor.

Si el sondeo de inicio HTTP se realiza de forma correcta dentro del tiempo especificado y configuraste un sondeo de funcionamiento HTTP, Cloud Run inicia el sondeo de funcionamiento HTTP.
Activo de HTTP Crea un extremo de verificación de estado HTTP
Usa HTTP/1
El sondeo de capacidad de respuesta comienza solo después de que el sondeo de inicio se realiza correctamente. Después de configurar el sondeo y de que cualquier sondeo de inicio se realice correctamente, Cloud Run realiza una solicitud HTTP GET al extremo de verificación de estado (por ejemplo, /health). Cualquier respuesta entre 200 y 400 es correcta, y todo lo demás indica un error.

Si un sondeo de funcionamiento no se realiza de forma correcta dentro del tiempo especificado (failureThreshold * periodSeconds), Cloud Run cierra el contenedor con una señal de SIGKILL. Las solicitudes restantes que el contenedor aún entregaba se finalizan con el código de estado HTTP 503. Después de que Cloud Run cierra el contenedor, el ajuste de escala automático de Cloud Run inicia una instancia de contenedor nueva.
Inicio de gRPC Implementa el protocolo de verificación de estado de gRPC en tu grupo de trabajadores de Cloud Run Si un sondeo de inicio no se completa de forma correcta dentro del tiempo especificado (failureThreshold * periodSeconds), que no puede superar los 240 segundos, Cloud Run cierra el contenedor.
gRPC en funcionamiento Implementa el protocolo de verificación de estado de gRPC en tu grupo de trabajadores de Cloud Run Si configuras un sondeo de inicio de gRPC, el sondeo de funcionamiento comienza solo después de que el sondeo de inicio se realiza correctamente.

Después de configurar el sondeo de funcionamiento y de que cualquier sondeo de inicio se realice correctamente, Cloud Run realiza una solicitud de verificación de estado al grupo de trabajadores.

Si un sondeo de funcionamiento no se realiza correctamente dentro del tiempo especificado (failureThreshold * periodSeconds), Cloud Run cierra el contenedor con una señal de SIGKILL. Después de que Cloud Run cierra el contenedor, el ajuste de escala automático de Cloud Run inicia una instancia de contenedor nueva.

Configura sondeos

Cualquier cambio en la configuración conlleva la creación de una revisión nueva. Las revisiones posteriores también adoptarán esta configuración de manera automática, a menos que realices actualizaciones explícitas para cambiarla.

Puedes configurar sondeos de HTTP, TCP y gRPC con la consola de Google Cloud o la API de REST de Cloud Run:

Console

  1. En la consola de Google Cloud , ve a Cloud Run:

    Ir a Cloud Run

  2. Selecciona Grupos de trabajadores en el menú.

    • Si quieres configurar un grupo de trabajadores nuevo, haz clic en Implementar contenedor.
    • Si quieres configurar un grupo de trabajadores existente, selecciona el grupo de trabajadores y, luego, haz clic en Implementar y editar una nueva revisión.
  3. Si configuras un grupo de trabajadores nuevo, completa la página inicial del grupo de trabajadores y, luego, haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del grupo de trabajadores.

  4. En la sección Contenedores, dirígete a Verificaciones de estado y haz clic en Agregar verificación de estado para abrir el panel de configuración Agregar verificación de estado.

  5. En el menú Seleccionar el tipo de verificación de estado, selecciona el tipo de verificación de estado que quieras agregar.

  6. En el menú Seleccionar tipo de sondeo, selecciona el tipo de sondeo que quieras usar, por ejemplo, HTTP o gRPC. Se mostrará el formulario de configuración del sondeo.

  7. Establece la configuración del sondeo, que varía según el tipo de sondeo:

    • Si usas sondeos de HTTP, haz lo siguiente:

      • Usa el campo Ruta de acceso para especificar la ruta de acceso relativa al extremo, por ejemplo, /.

      • Selecciona la casilla de verificación Encabezados HTTP para especificar encabezados personalizados opcionales. Especifica el nombre del encabezado en el campo Nombre y el valor del encabezado en el campo Valor. Haz clic en Agregar encabezado HTTP para especificar más encabezados.

    • Si usas sondeos de gRPC, asegúrate de que tu imagen de contenedor implemente el protocolo de verificación de estado de gRPC. Para obtener más información, consulta GRPC Health Checking Protocol.

    • Para los tipos de sondeo HTTP y gRPC, especifica lo siguiente:

      • En Retraso inicial, especifica la cantidad de segundos que se espera después de que el contenedor se inició antes de realizar el primer sondeo. Especifica un valor de 0 a 240 segundos. El valor predeterminado es 0 segundos.

      • Período: Especifica el período (en segundos) en el que se realizará el sondeo. Por ejemplo, especifica 2 para realizar el sondeo cada 2 segundos. Especifica un valor de 1 a 240 segundos. El valor predeterminado es 10 segundos.

      • En Umbral de falla, especifica la cantidad de veces que se debe reintentar el sondeo antes de apagar el contenedor. El valor predeterminado es 3.

      • En Tiempo de espera, especifica la cantidad de segundos que se espera hasta que se agote el tiempo de espera del sondeo. Especifica un valor de 1 al menor de 240 y periodSeconds. El valor predeterminado es 1.

  8. Haz clic en Agregar para agregar el umbral nuevo.

  9. Haz clic en Crear o Implementar.

API de REST

Importante: Si configuras tu grupo de trabajadores de Cloud Run para sondeos HTTP, también debes agregar un extremo de verificación de estado HTTP en el código de tu grupo de trabajadores para responder al sondeo. Si configuras un sondeo de gRPC, también debes implementar el protocolo de verificación de estado de gRPC en tu grupo de trabajadores de Cloud Run.

Inicio de HTTP

Usa la API de REST para configurar esto.

Activo de HTTP

Usa la API de REST para configurar esto.

Inicio de gRPC

Usa la API de REST para configurar esto.

gRPC en funcionamiento

Usa la API de REST para configurar esto.

Crea extremos de verificación de estado de HTTP

Si configuras tu grupo de trabajadores de Cloud Run para un sondeo de inicio o de funcionamiento de HTTP, debes agregar un extremo en el código del grupo de trabajadores para responder al sondeo. El extremo puede tener el nombre que desees, por ejemplo, /startup o /ready, pero el nombre debe coincidir con el valor que especifiques para path en la configuración del sondeo. Por ejemplo, si especificas /ready para un sondeo de inicio HTTP, debes especificar path en la configuración de sondeo, como se muestra a continuación:

startupProbe:
  httpGet:
    path: /ready

Los extremos de la verificación de estado de HTTP son accesibles de forma externa y siguen los mismos principios que cualquier otro extremo HTTP que se exponga de forma externa.