Configura el tiempo de espera de solicitudes

Obtén información sobre cómo configurar el tiempo en el que los servicios de Cloud Run for Anthos en Google Cloud debe mostrar una respuesta a una solicitud. Si no se muestra una respuesta dentro del tiempo especificado, la solicitud finaliza y se muestra el error 504.

Límites de tiempo de espera

El límite de tiempo de espera máximo difiere en función de la versión de tu clúster de GKE.

Versión de GKE Límite predeterminado Límite de tiempo de espera máximo
0.16.0-gke.1 y posteriores 300 segundos 24 horas
0.15.0-gke.3 y anteriores 300 segundos 900 segundos

Además de cambiar el tiempo de espera de las solicitudes de Cloud Run for Anthos, también debes verificar el framework del lenguaje para ver si tiene su propia configuración de tiempo de espera de solicitudes, que también debes actualizar.

Configura y actualiza el tiempo de espera de las solicitudes

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 el tiempo de espera de la solicitud mediante Cloud Console, la herramienta de línea de comandos de gcloud o un archivo YAML cuando implementas un servicio nuevo o actualizas un servicio existente e implementas una revisión:

Console

  1. Ir a Cloud Run for Anthos en Google Cloud

  2. Haz clic en Crear servicio si quieres configurar un servicio nuevo en el que realizarás la implementación. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, haz clic en IMPLEMENTAR Y EDITAR UNA NUEVA REVISIÓN.

  3. En Configuración avanzada, haz clic en Contenedor.

    imagen

  4. En el campo Tiempo de espera de la solicitud (Request timeout), ingresa el valor de tiempo de espera que deseas usar. El valor que especifiques debe ser menor que el límite de tiempo de espera para la versión de GKE del clúster.

  5. Haz clic en Crear o Implementar.

Línea de comandos

  • Para los servicios existentes, configura el tiempo de espera de la solicitud con la ejecución del comando gcloud kuberun core services update con el parámetro --timeout

    gcloud kuberun core services update SERVICE --timeout TIMEOUT
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • TIMEOUT por el tiempo deseado, con un valor de número entero o un valor de duración absoluta, por ejemplo, 1m20s (1 minuto, 20 segundos). El valor que especifiques debe ser menor que el límite de tiempo de espera para la versión de GKE del clúster. Especifica 0 para establecer el tiempo de espera en el valor predeterminado.
  • Para servicios nuevos, configura el tiempo de espera de la solicitud mediante la ejecución del comando gcloud kuberun core services create con el parámetro --timeout:

    gcloud kuberun core services create SERVICE --image=IMAGE_URL --timeout TIMEOUT
    

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/myproject/my-image:latest
    • TIMEOUT por el tiempo deseado, con un valor de número entero o un valor de duración absoluta, por ejemplo, 1m20s (1 minuto, 20 segundos). El valor que especifiques debe ser menor que el límite de tiempo de espera para la versión de GKE del clúster. Especifica 0 para establecer el tiempo de espera en el valor predeterminado.

YAML

Si deseas usar un archivo YAML para modificar la configuración de tu servicio existente, obtén una copia de la configuración actual, modifica y guarda los cambios en un archivo local y, luego, implementa esos cambios en tu servicio.

  1. Muestra los cambios como YAML y, luego, copia la configuración de tu servicio en un archivo local, por ejemplo service.yaml:

    gcloud kuberun core services describe SERVICE --format yaml

    Reemplaza SERVICE por el nombre de tu servicio de Cloud Run for Anthos.

  2. En tu archivo local, actualiza el atributo timeoutSeconds:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        spec:
          containers:
          - image: IMAGE
          timeoutSeconds: TIMEOUT

    Reemplaza lo siguiente:

    • SERVICE por el nombre de tu servicio de Cloud Run for Anthos
    • IMAGE_URL por una referencia a la imagen del contenedor, como gcr.io/myproject/my-image:latest
    • TIMEOUT por el tiempo de espera deseado, en segundos.
  3. Reemplaza el servicio por la configuración nueva mediante el siguiente comando:

    gcloud beta run services replace service.yaml