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
-
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 theresourcemanager.projects.createpermission. Learn how to grant roles.
-
Verify that billing is enabled for your Google Cloud project.
- Instala e inicializa gcloud CLI.
- 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:
- Desarrollador de Cloud Run (
roles/run.developer) en el servicio de Cloud Run - Usuario de la cuenta de servicio (
roles/iam.serviceAccountUser) en la identidad del servicio
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 deLOCATION-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
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
Actualiza tu archivo YAML para incluir el atributo
sandboxLauncherestablecido entruedentro 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: 8080Reemplaza 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 deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Crea o actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
El comando
gcloud run services replaceusa de forma predeterminada el archivoservice.yamlsi 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
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
Actualiza tu archivo YAML para quitar el atributo
sandboxLauncherdentro 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: 8080Reemplaza 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 deLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
Crea o actualiza el servicio con el siguiente comando:
gcloud run services replace service.yaml
El comando
gcloud run services replaceusa de forma predeterminada el archivoservice.yamlsi 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
En la Google Cloud consola de, ve a la página Servicios de Cloud Run:
Haz clic en el servicio para abrir la página Detalles del servicio.
Haz clic en la pestaña Historial de revisiones.
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
Usa el siguiente comando:
gcloud beta run services describe SERVICE
Reemplaza SERVICE por el nombre del servicio.
Para verificar que los contenedores en zona de pruebas estén habilitados, busca el atributo
sandboxLauncher: trueen 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.