Configura zonas de pruebas para los servicios

Las zonas de pruebas de Cloud Run proporcionan un entorno rápido, seguro y aislado para ejecutar código no confiable o ejecutar herramientas, como agentes de IA, dentro de tu servicio existente en el entorno de segunda generación. Las zonas de pruebas están altamente optimizadas para la latencia y se ejecutan dentro de la misma instancia que tu contenedor, y comparten su CPU y memoria asignadas.

En esta página, se describe cómo configurar zonas de pruebas en tu contenedor. Para obtener detalles sobre cómo escribir código para interactuar con la zona de pruebas mediante la CLI, consulta Ejecución de código en Cloud Run.

Antes de comenzar

  1. In the Google Cloud console, on the project selector page, select or create a Google Cloud project.

    Roles required to select or create a project

    • Select a project: Selecting a project doesn't require a specific IAM role—you can select any project that you've been granted a role on.
    • Create a project: To create a project, you need the Project Creator role (roles/resourcemanager.projectCreator), which contains the resourcemanager.projects.create permission. Learn how to grant roles.

    Go to project selector

  2. Verify that billing is enabled for your Google Cloud project.

  3. Instala e inicializa gcloud CLI.
  4. Implementa un servicio de Cloud Run service en el entorno de ejecución de segunda generación.

Roles obligatorios

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 Google Cloud las APIs, 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.

Habilita las zonas de pruebas

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.

Cuando habilitas las zonas de pruebas, tu servicio de Cloud Run se implementa en el entorno de ejecución de segunda generación. Para habilitar las zonas de pruebas en los servicios de Cloud Run, usa Google Cloud CLI o una configuración de YAML:

gcloud

Para implementar o actualizar el servicio, especifica la marca --sandbox-launcher:

  • Para implementar un servicio nuevo, ejecuta el siguiente comando:

    gcloud beta run deploy SERVICE --image IMAGE_URL --sandbox-launcher

    Reemplaza lo siguiente:

    • SERVICE: El nombre de tu servicio de Cloud Run
    • 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
  • Para actualizar un servicio existente, ejecuta el siguiente comando:

    gcloud beta run services update SERVICE --sandbox-launcher

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. Actualiza tu archivo YAML para incluir el atributo sandboxLauncher establecido en true dentro de la configuración de tu contenedor:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - name: CONTAINER
            image: IMAGE_URL
            sandboxLauncher: true
            port: 8080
    

    Reemplaza lo siguiente:

    • SERVICE: El nombre de tu servicio de Cloud Run
    • CONTAINER: El nombre de tu contenedor
    • 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
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run services replace service.yaml

    El comando gcloud run services replace usa de forma predeterminada el archivo service.yaml si está presente.

Las zonas de pruebas comparten la CPU y la memoria asignadas al contenedor host. Asegúrate de que los límites de CPU y memoria de tu contenedor principal puedan admitir tu aplicación y las zonas de pruebas activas que ejecutes al mismo tiempo.

Inhabilita las zonas de pruebas

Para inhabilitar la capacidad de iniciar una zona de pruebas en tu servicio, usa Google Cloud CLI o una configuración de YAML:

gcloud

Actualiza el servicio con la marca --no-sandbox-launcher ejecutando el siguiente comando:

gcloud beta run services update SERVICE --no-sandbox-launcher

Reemplaza SERVICE por el nombre del servicio.

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. Actualiza tu archivo YAML para quitar el atributo sandboxLauncher dentro de la configuración de tu contenedor:

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        spec:
          containers:
          - name: CONTAINER
            image: IMAGE_URL
            port: 8080
    

    Reemplaza lo siguiente:

    • SERVICE: El nombre de tu servicio de Cloud Run
    • CONTAINER: El nombre de tu contenedor
    • 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
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run services replace service.yaml

    El comando gcloud run services replace usa de forma predeterminada el archivo service.yaml si está presente.

Visualiza la configuración de la zona de pruebas

Para ver la configuración actual de la zona de pruebas de tu servicio de Cloud Run, sigue estos pasos:

Console

  1. En la Google Cloud consola de, ve a la página Servicios de Cloud Run:

    Ir a Cloud Run

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

  3. Haz clic en la pestaña Historial de revisiones.

  4. En la pestaña Contenedores, busca la configuración del iniciador de zona de pruebas para ver si los contenedores en zona de pruebas están habilitados o inhabilitados.

gcloud

  1. Usa el siguiente comando:

    gcloud beta run services describe SERVICE

    Reemplaza SERVICE por el nombre del servicio.

  2. Para verificar que los contenedores en zona de pruebas estén habilitados, busca el atributo sandboxLauncher: true en la configuración que se muestra.

Para ejecutar código no confiable en una zona de pruebas desde tu servicio, consulta Ejecución de código en Cloud Run.