Puoi scegliere la quantità di memoria da fornire per il pool di worker Cloud Run. Questa pagina descrive come specificare la quantità di memoria disponibile per il pool di worker.
Informazioni sull'utilizzo della memoria
Le istanze Cloud Run che superano il limite di memoria consentito vengono terminate.
La memoria disponibile per l'istanza deve essere sufficiente per:
- Esecuzione dell'eseguibile del worker pool, perché l'eseguibile deve essere caricato in memoria
- Allocazione della memoria nel processo del pool di worker
- Scrittura di file nel file system
Le dimensioni dell'immagine container di cui è stato eseguito il deployment non influiscono sulla memoria disponibile per l'istanza.
Impostare e aggiornare i limiti di memoria
Puoi impostare limiti di memoria sui pool di worker Cloud Run. Per impostazione predefinita, la memoria allocata a ogni pool di worker è 512 MiB.
Memoria richiesta quando si imposta un valore di CPU
Quando imposti un valore della CPU, è necessaria la seguente memoria:
CPU | Memoria richiesta |
---|---|
1 vCPU | Da 128 MiB a 4 GiB |
2 vCPU | Da 128 MiB a 8 GiB |
4 vCPU | Da 2 a 16 GiB |
6 vCPU | Da 4 a 24 GiB |
8 vCPU | Da 4 a 32 GiB |
Quantità massima di memoria
La quantità massima di memoria che puoi configurare è
32 gibibyte (32 Gi
).
Memoria minima
L'impostazione della memoria minima è 512 MiB.
Ruoli obbligatori
Per ottenere le autorizzazioni necessarie per configurare e implementare i pool di worker Cloud Run, chiedi all'amministratore di concederti i seguenti ruoli IAM:
-
Cloud Run Developer (
roles/run.developer
) nel pool di worker Cloud Run -
Utente service account (
roles/iam.serviceAccountUser
) sull'identità del servizio
Per un elenco di ruoli e autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il tuo pool di worker Cloud Run interagisce con le APIGoogle Cloud , come le librerie client Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta Autorizzazioni di deployment e Gestire l'accesso.
Configurare i limiti di memoria
Qualsiasi modifica alla configurazione comporta la creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che tu non apporti aggiornamenti espliciti per modificarla.
Puoi impostare i limiti di memoria per un pool di worker Cloud Run utilizzando la consoleGoogle Cloud , Google Cloud CLI, YAML o Terraform:
Console
Nella console Google Cloud , vai a Cloud Run:
Seleziona Worker pool dal menu e fai clic su Esegui il deployment del container per configurare un nuovo worker pool. Se stai configurando un worker pool esistente, fai clic sul worker pool, poi su Modifica ed esegui il deployment della nuova revisione.
Se stai configurando un nuovo pool di worker, compila la pagina iniziale del pool di worker, poi fai clic su Container, volumi, networking, sicurezza per espandere la pagina di configurazione dei pool di worker.
Fai clic sulla scheda Contenitore.
- Seleziona le dimensioni della memoria dall'elenco Memoria.
Fai clic su Crea o Esegui il deployment.
gcloud
Puoi aggiornare l'allocazione di memoria di un determinato pool di worker utilizzando il seguente comando:
gcloud beta run worker-pools update WORKER_POOL --memory SIZE
Sostituisci quanto segue:
- WORKER_POOL: il nome del pool di worker
- SIZE: una dimensione della memoria dalla tabella CPU e memoria.
Il formato per le dimensioni è un numero a virgola fissa o mobile seguito
da un'unità:
G
oM
corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2:Gi
oMi
corrispondenti rispettivamente a gibibyte o mebibyte.
Puoi anche impostare i limiti di memoria durante l'deployment utilizzando il comando:
gcloud beta run worker-pools deploy --image IMAGE_URL --memory SIZE
Sostituisci quanto segue:
- IMAGE_URL: un riferimento all'immagine del container che
contiene il pool di worker, ad esempio
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - SIZE: una dimensione della memoria dalla tabella CPU e memoria. Il formato per le dimensioni è un numero intero o in virgola mobile seguito da un'unità: G o M corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.
YAML
Se stai creando un nuovo pool di worker, ignora questo passaggio. Se stai aggiornando un pool di worker esistente, scarica la relativa configurazione YAML:
gcloud beta run worker-pools describe WORKER_POOL --format export > workerpool.yaml
L'esempio seguente contiene la configurazione 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
Sostituisci quanto segue:
- WORKER_POOL: il nome del pool di worker Cloud Run.
- IMAGE_URL: un riferimento all'immagine del container che
contiene il pool di worker, ad esempio
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
. - SIZE: la dimensione della memoria scelta.
Il formato è un numero a virgola fissa o mobile seguito da un'unità:
G
oM
corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti di potenza di due:Gi
oMi
corrispondenti rispettivamente a gibibyte o mebibyte.
Crea o aggiorna il pool di worker utilizzando il seguente comando:
gcloud beta run worker-pools replace workerpool.yaml
Terraform
Per scoprire come applicare o rimuovere una configurazione Terraform, consulta Comandi Terraform di base.
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"
}
}
}
}
}
Sostituisci quanto segue:
- WORKER_POOL: il nome del pool di worker.
- REGION: la Google Cloud regione. Ad esempio, europe-west1.
- IMAGE_URL: un riferimento all'immagine del container che
contiene il pool di worker, ad esempio
us-docker.pkg.dev/cloudrun/container/worker-pool:latest
- SIZE: una dimensione della memoria dalla tabella CPU e memoria.
Il formato per le dimensioni è un numero a virgola fissa o mobile seguito
da un'unità:
G
oM
corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2:Gi
oMi
corrispondenti rispettivamente a gibibyte o mebibyte.
Visualizza la configurazione della memoria per il worker pool
Nella console Google Cloud , vai a Cloud Run:
Fai clic su Pool di worker per visualizzare l'elenco dei pool di worker di cui è stato eseguito il deployment.
Fai clic sul worker pool che vuoi esaminare per visualizzare il relativo riquadro dei dettagli.
Fai clic sulla scheda Container per visualizzare la configurazione della memoria del pool di worker per ogni contenitore.