Puedes elegir la cantidad de memoria que quieras 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 de memoria mínima 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 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 memoria que quieras en la lista desplegable 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
Sustituye:
- WORKER_POOL con el nombre del grupo de trabajadores
- SIZE con 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
Sustituye:
- 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 con 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.
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"
}
}
}
}
}
Sustituye:
- WORKER_POOL con el nombre del grupo de trabajadores.
- REGION con la región Google Cloud . 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 con 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.