Configura zonas de pruebas para trabajos

Las zonas de pruebas de Cloud Run proporcionan un entorno rápido, seguro y aislado para ejecutar código de agente, realizar transformaciones de datos y ejecutar secuencias de comandos de forma segura dentro de tu trabajo existente. Las zonas de pruebas están altamente optimizadas para la latencia y se ejecutan dentro de la misma instancia que tu contenedor, compartiendo 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. Accede a tu Google Cloud cuenta de. Si eres nuevo en Google Cloud, crea una cuenta para evaluar el rendimiento de nuestros productos en situaciones reales. Los clientes nuevos también obtienen $300 en créditos gratuitos para ejecutar, probar y, además, implementar cargas de trabajo.
  2. 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

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

  4. 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

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

  6. Instala e inicializa gcloud CLI.
  7. Crea un trabajo de Cloud Run job.

Roles obligatorios

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

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 trabajo 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

Para habilitar las zonas de pruebas en los trabajos de Cloud Run, usa Google Cloud CLI o una configuración de YAML:

gcloud

Para crear o actualizar el trabajo, especifica la marca --sandbox-launcher:

  • Para crear un trabajo, ejecuta el siguiente comando:

    gcloud beta run jobs create JOB --image IMAGE_URL --sandbox-launcher

    Reemplaza lo siguiente:

    • JOB: El nombre del trabajo de Cloud Run.
    • IMAGE_URL: Una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest
  • Para actualizar un trabajo existente, ejecuta el siguiente comando:

    gcloud beta run jobs update JOB --sandbox-launcher

YAML

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Actualiza tu archivo YAML para incluir el atributo sandboxLauncher establecido en true dentro de la configuración del contenedor:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
                sandboxLauncher: true
    

    Reemplaza lo siguiente:

    • JOB: El nombre del trabajo de Cloud Run.
    • CONTAINER: El nombre del contenedor.
    • IMAGE_URL: Una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run jobs replace job.yaml

    El comando gcloud run jobs replace usa de forma predeterminada el archivo job.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 trabajo, usa Google Cloud CLI o una configuración de YAML:

gcloud

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

gcloud beta run jobs update JOB --no-sandbox-launcher

Reemplaza JOB por el nombre de tu trabajo.

YAML

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

    gcloud run jobs describe JOB_NAME --format export > job.yaml
  2. Actualiza tu archivo YAML para quitar el atributo sandboxLauncher dentro de la configuración del contenedor:

    apiVersion: run.googleapis.com/v1
    kind: Job
    metadata:
      name: JOB
    spec:
      template:
        spec:
          template:
            spec:
              containers:
              - name: CONTAINER
                image: IMAGE_URL
    

    Reemplaza lo siguiente:

    • JOB: El nombre del trabajo de Cloud Run.
    • CONTAINER: El nombre del contenedor.
    • IMAGE_URL: Una referencia a la imagen del contenedor, por ejemplo, us-docker.pkg.dev/cloudrun/container/job:latest
  3. Crea o actualiza el servicio con el siguiente comando:

    gcloud run jobs replace job.yaml

    El comando gcloud run jobs replace usa de forma predeterminada el archivo job.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 trabajo de Cloud Run, sigue estos pasos:

Console

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

    Ir a Trabajos de Cloud Run

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

  3. En la pestaña Historial, haz clic en el ID del trabajo ejecutado de la lista.

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

gcloud

  1. Usa el siguiente comando:

    gcloud run jobs executions describe EXECUTION_NAME --format yaml

    Reemplaza EXECUTION_NAME por el nombre de la ejecución del trabajo.

  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 trabajo, consulta Ejecución de código en Cloud Run.