Configurar límites de memoria para grupos de trabajadores

Puedes elegir la cantidad de memoria que quieres asignar a tu grupo de trabajadores de Cloud Run. En esta página se describe cómo especificar la cantidad de memoria disponible para tu grupo de trabajadores.

Información sobre el uso de memoria

Las instancias de Cloud Run que superen el límite de memoria permitido se terminarán.

La memoria disponible de tu instancia debe ser suficiente para lo siguiente:

  • Ejecutar el archivo ejecutable del grupo de trabajadores, ya que debe cargarse en la memoria
  • Asignar memoria en el proceso de tu grupo de trabajadores
  • Escribir archivos en el sistema de archivos

El tamaño de la imagen de contenedor desplegada no afecta a la memoria disponible para la instancia.

Definir y actualizar límites de memoria

Puedes definir límites de memoria en los grupos de trabajadores de Cloud Run. De forma predeterminada, la memoria asignada a cada grupo de trabajadores es de 512 MiB.

CPUs mínimas necesarias

La cantidad de memoria asignada que elijas se corresponde con una cantidad mínima de CPU para tu grupo de trabajadores. Cuando se establece un límite de memoria, se requieren los siguientes límites mínimos de CPU:

Memoria CPUs mínimas necesarias
2 GiB 1 vCPU
Más de 4 GiB 2 vCPUs
Más de 8 GiB 4 vCPUs
Más de 16 GiB 6 vCPUs
Más de 24 GiB 8 vCPUs

Cantidad máxima de memoria

La cantidad máxima de memoria que puedes configurar es de 32 gibibytes (32 Gi).

Puedes aplicar un límite de memoria máximo mediante políticas de la organización personalizadas.

Memoria mínima

La configuración mínima de memoria es de 512 MiB.

Roles obligatorios

Para obtener los permisos que necesitas para configurar e implementar grupos de trabajadores de Cloud Run, pide a tu administrador que te conceda los siguientes roles de gestión de identidades y accesos:

Para ver una lista de los roles y permisos de gestión de identidades y accesos asociados a Cloud Run, consulta los artículos sobre roles de gestión de identidades y accesos de Cloud Run y permisos de gestión de identidades y accesos de Cloud Run. Si tu grupo de trabajadores de Cloud Run interactúa con APIs deGoogle Cloud , como las bibliotecas de cliente de Cloud, consulta la guía de configuración de identidades de servicio. Para obtener más información sobre cómo conceder roles, consulta los artículos sobre permisos de implementación y gestión del acceso.

Configurar límites de memoria

Cualquier cambio en la configuración conlleva la creación de una nueva revisión. Las revisiones posteriores también recibirán automáticamente este ajuste de configuración, a menos que hagas cambios explícitos para modificarlo.

Puedes definir límites de memoria para un grupo de trabajadores de Cloud Run mediante laGoogle Cloud consola, la CLI de Google Cloud, YAML o Terraform:

Consola

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

    Ir a Cloud Run

  2. Selecciona Grupos de trabajadores en el menú y haz clic en Implementar contenedor para configurar un nuevo grupo de trabajadores. Si vas a configurar un grupo de trabajadores que ya existe, haz clic en él y, a continuación, en Editar y desplegar nueva revisión.

  3. Si vas a configurar un grupo de trabajadores, rellena la página inicial del grupo de trabajadores y, a continuación, haz clic en Contenedores, volúmenes, redes y seguridad para desplegar la página de configuración del grupo de trabajadores.

  4. Haz clic en la pestaña Contenedor.

    imagen

    • Selecciona el tamaño de la memoria en la lista Memoria.
  5. Haz clic en Crear o en Implementar.

gcloud

Puedes actualizar la asignación de memoria de un grupo de trabajadores determinado con el siguiente comando:

gcloud beta run worker-pools update WORKER_POOL --memory SIZE

Haz los cambios siguientes:

  • WORKER_POOL: el nombre de tu grupo de trabajadores
  • SIZE: un tamaño de memoria de la tabla de CPU y memoria. El formato del tamaño es un número entero o decimal seguido de una unidad: G o M, que corresponden a gigabytes o megabytes, respectivamente. También puedes usar los equivalentes en potencias de dos: Gi o Mi, que corresponden a gibibytes o mebibytes, respectivamente.

También puedes definir límites de memoria durante la implementación con el siguiente comando:

gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE

Haz los cambios siguientes:

  • IMAGE_URL: referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • SIZE: un tamaño de memoria de la tabla de CPU y memoria. El formato del tamaño es un número entero o decimal seguido de una unidad: G o M, que corresponden a gigabytes o megabytes, respectivamente. También puedes usar los equivalentes de potencia de dos: Gi o Mi, que corresponden a gibibytes o mebibytes, respectivamente.

YAML

  1. Si vas a crear un grupo de trabajadores, omite este paso. Si vas a actualizar un grupo de trabajadores, descarga su configuración YAML:

    gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
  2. En el ejemplo siguiente se muestra la configuración de YAML:

    apiVersion: run.googleapis.com/v1
    kind: WorkerPool
    metadata:
      name: WORKER_POOL
      annotations:
        run.googleapis.com/launch-stage: BETA
    spec:
      template:
        spec:
          containers:
          - image: IMAGE_URL
            resources:
              limits:
                memory: SIZE

    Haz los cambios siguientes:

    • WORKER_POOL: el nombre de tu grupo de trabajadores de Cloud Run.
    • IMAGE_URL: referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIZE: tamaño de la memoria elegida. El formato es un número de punto fijo o flotante seguido de una unidad: G o M, que corresponden a gigabytes o megabytes, respectivamente, o bien se pueden usar los equivalentes en potencias de dos: Gi o Mi, que corresponden a gibibytes o mebibytes, respectivamente.
  3. Crea o actualiza el grupo de trabajadores con el siguiente comando:

    gcloud beta run worker-pools replace workerpool.yaml

Terraform

Para saber cómo aplicar o quitar una configuración de Terraform, consulta Comandos básicos de Terraform.

resource "google_cloud_run_v2_worker_pool" "default" {
  name     = "WORKER_POOL"
  location = "REGION"
  launch_stage = "BETA"

  template {
    containers {
      image = "IMAGE_URL"
      resources {
        limits = {
          memory = "SIZE"
        }
      }
    }
  }
}

Haz los cambios siguientes:

  • WORKER_POOL: el nombre del grupo de trabajadores.
  • REGION: la Google Cloud región. Por ejemplo, europe-west1.
  • IMAGE_URL: una referencia a la imagen del contenedor que contiene el grupo de trabajadores, como us-docker.pkg.dev/cloudrun/container/worker-pool:latest
  • SIZE: un tamaño de memoria de la tabla de CPU y memoria. El formato del tamaño es un número entero o decimal seguido de una unidad: G o M, que corresponden a gigabytes o megabytes, respectivamente. También puedes usar los equivalentes en potencias de dos: Gi o Mi, que corresponden a gibibytes o mebibytes, respectivamente.

Ver la configuración de memoria del grupo de trabajadores

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

    Ir a Cloud Run

  2. Haz clic en Grupos de trabajadores para ver la lista de grupos de trabajadores implementados.

  3. Haz clic en el grupo de trabajadores que quieras examinar para que se muestre su panel de detalles.

  4. Haz clic en la pestaña Contenedores para ver la configuración de memoria del grupo de trabajadores de cada contenedor.