Configura i limiti di memoria per i pool di worker

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

Puoi applicare un limite massimo di memoria utilizzando le policy dell'organizzazione personalizzate.

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:

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

  1. Nella console Google Cloud , vai a Cloud Run:

    Vai a Cloud Run

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

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

  4. Fai clic sulla scheda Contenitore.

    immagine

    • Seleziona le dimensioni della memoria dall'elenco Memoria.
  5. 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 o M corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: Gi o Mi 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

  1. 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
  2. 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 o M corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti di potenza di due: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.
  3. 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 o M corrispondenti rispettivamente a gigabyte o megabyte oppure utilizza gli equivalenti in base 2: Gi o Mi corrispondenti rispettivamente a gibibyte o mebibyte.

Visualizza la configurazione della memoria per il worker pool

  1. Nella console Google Cloud , vai a Cloud Run:

    Vai a Cloud Run

  2. Fai clic su Pool di worker per visualizzare l'elenco dei pool di worker di cui è stato eseguito il deployment.

  3. Fai clic sul worker pool che vuoi esaminare per visualizzare il relativo riquadro dei dettagli.

  4. Fai clic sulla scheda Container per visualizzare la configurazione della memoria del pool di worker per ogni contenitore.