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
).
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:
-
Desarrollador de Cloud Run (
roles/run.developer
) en el grupo de trabajadores de Cloud Run -
Usuario de cuenta de servicio (
roles/iam.serviceAccountUser
) en la identidad de servicio
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
En la Google Cloud consola, ve a Cloud Run:
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.
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.
Haz clic en la pestaña Contenedor.
- Selecciona el tamaño de la memoria en la lista Memoria.
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
oM
, que corresponden a gigabytes o megabytes, respectivamente. También puedes usar los equivalentes en potencias de dos:Gi
oMi
, 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
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
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
oM
, que corresponden a gigabytes o megabytes, respectivamente, o bien se pueden usar los equivalentes en potencias de dos:Gi
oMi
, que corresponden a gibibytes o mebibytes, respectivamente.
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
oM
, que corresponden a gigabytes o megabytes, respectivamente. También puedes usar los equivalentes en potencias de dos:Gi
oMi
, que corresponden a gibibytes o mebibytes, respectivamente.
Ver la configuración de memoria del grupo de trabajadores
En la Google Cloud consola, ve a Cloud Run:
Haz clic en Grupos de trabajadores para ver la lista de grupos de trabajadores implementados.
Haz clic en el grupo de trabajadores que quieras examinar para que se muestre su panel de detalles.
Haz clic en la pestaña Contenedores para ver la configuración de memoria del grupo de trabajadores de cada contenedor.