Selecciona un entorno de ejecución para los servicios

En esta página, se describe cómo especificar el entorno de ejecución de las instancias de Cloud Run. Los servicios de Cloud Run no tienen un entorno de ejecución especificado de forma predeterminada, lo que significa que Cloud Run selecciona el entorno de ejecución según las funciones que se usaron. Si no especificas un entorno de ejecución para el servicio, Cloud Run puede seleccionar el entorno de primera o segunda generación.

Ten en cuenta que los trabajos de Cloud Run usan únicamente el entorno de ejecución de segunda generación y no se puede cambiar para los trabajos.

Consulta la documentación de concepto de entornos de ejecución para obtener ayuda para elegir el entorno que mejor se adapte a tu servicio.

Roles requeridos

Para obtener los permisos que necesitas para configurar y, luego, implementar los servicios de Cloud Run, pídele a tu administrador que te otorgue los siguientes roles de IAM:

Si implementas un servicio o una función desde el código fuente, también debes tener roles adicionales otorgados en tu proyecto y en la cuenta de servicio de Cloud Build.

Para obtener una lista de los roles y los permisos de IAM asociados con Cloud Run, consulta los roles de IAM de Cloud Run y los permisos de IAM de Cloud Run. Si tu servicio de Cloud Run interactúa con las APIs deGoogle Cloud , como las bibliotecas cliente de Cloud, consulta la guía de configuración de identidades del servicio. Para obtener más información sobre cómo otorgar roles, consulta permisos de implementación y administra el acceso.

Configura y actualiza el entorno de ejecución

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.

La configuración predeterminada de los servicios de Cloud Run no se especifica, lo que significa que Cloud Run selecciona un entorno de ejecución adecuado. Como alternativa, puedes especificar un entorno de ejecución. Para usar la segunda generación, debes especificar al menos 512 MiB de memoria.

Puedes configurar el entorno de ejecución con la Google Cloud consola, la línea de comandos de gcloud o un archivo YAML cuando creas un servicio nuevo o implementas una revisión nueva:

Console

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

    Ir a Cloud Run

  2. Selecciona Servicios en el menú y haz clic en Implementar contenedor para configurar un servicio nuevo. Si quieres configurar un servicio existente, haz clic en el servicio y, luego, en implementar y editar la nueva revisión.

  3. Si configuras un servicio nuevo, completa la página de configuración del servicio inicial como desees y haz clic en Contenedores, volúmenes, Herramientas de redes y seguridad para expandir la página de configuración del servicio.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • Selecciona el entorno de ejecución deseado con los botones de opción. Mantén la opción “Configuración predeterminada” para permitir que Cloud Run seleccione un entorno de ejecución adecuado.
  5. Haz clic en Crear o Implementar.

gcloud

Puedes actualizar el entorno de ejecución de un servicio determinado mediante el siguiente comando:

gcloud run services update SERVICE --execution-environment ENVIRONMENT

Reemplaza SERVICE por el nombre de tu servicio y ENVIRONMENT por el entorno de ejecución deseado. Especifica el valor gen1 para la primera generación o gen2 para la segunda generación.

También puedes configurar el entorno de ejecución durante la implementación mediante el siguiente comando:

gcloud run deploy --image IMAGE_URL --execution-environment ENVIRONMENT

Reemplaza lo siguiente:

  • IMAGE_URL: Una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/hello:latest. Si usas Artifact Registry, el repositorio REPO_NAME debe estar creado. La URL sigue el formato de LOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG.
  • ENVIRONMENT: Es el entorno de ejecución deseado. Especifica el valor gen1 para la primera generación o gen2 para la segunda generación.

YAML

  1. Si creas un servicio nuevo, omite este paso. Si actualizas un servicio existente, descarga su configuración de YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Establece la anotación run.googleapis.com/execution-environment:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          annotations:
            run.googleapis.com/execution-environment: ENVIRONMENT

    Reemplaza lo siguiente:

    • SERVICE: El nombre de tu servicio de Cloud Run.
    • ENVIRONMENT: Es el entorno de ejecución seleccionado. Especifica el valor gen1 para la primera generación o gen2 para la segunda generación.

    Quita la anotación run.googleapis.com/execution-environment para el comportamiento predeterminado.

  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run services replace service.yaml

Terraform

Si deseas obtener más información para aplicar o quitar una configuración de Terraform, consulta los comandos básicos de Terraform.

Agrega lo siguiente a un recurso google_cloud_run_v2_service en tu configuración de Terraform:

resource "google_cloud_run_v2_service" "default" {
  name     = "cloudrun-service-execution-environment"
  location = "REGION"

  template {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"
    }
    execution_environment = "ENVIRONMENT"
  }
}

Reemplaza lo siguiente:

  • REGION: Es la Google Cloud región. Por ejemplo, europe-west1.
  • ENVIRONMENT: EXECUTION_ENVIRONMENT_GEN1 para la primera generación o EXECUTION_ENVIRONMENT_GEN2 para la segunda generación.

Visualiza la configuración del entorno de ejecución

Para ver la configuración actual del entorno de ejecución del servicio de Cloud Run, sigue estos pasos:

Console

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

    Ir a Cloud Run

  2. Haz clic en el servicio que te interesa para abrir la página Detalles del servicio.

  3. Haz clic en la pestaña Revisiones.

  4. En el panel de detalles a la derecha, la configuración del entorno de ejecución se muestra en la pestaña Contenedor.

gcloud

  1. Usa el siguiente comando:

    gcloud run services describe SERVICE
  2. Ubica la configuración del entorno de ejecución en la configuración que se muestra.