Configura i container per i pool di worker

Questa pagina descrive come configurare il comando di punto di ingresso e gli argomenti per un pool di worker Cloud Run.

Quando Cloud Run avvia un container, esegue il comando entrypoint predefinito dell'immagine e gli argomenti del comando predefiniti. Se vuoi sostituire l'entry point e gli argomenti del comando predefiniti dell'immagine, puoi utilizzare i campi command e args nella configurazione del container. Il campo command specifica il comando effettivo eseguito dal container. Il campo args specifica gli argomenti passati a questo comando.

Tieni presente che puoi avere un massimo di 1000 argomenti per container per ogni pool di worker.

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 Cloud Run e Autorizzazioni IAM 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.

Configura il punto di ingresso e gli argomenti

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.

Il comando e gli argomenti del container specificati sostituiscono ENTRYPOINT e CMD dell'immagine predefinita.

Puoi impostare il comando e gli argomenti del punto di ingresso per un pool di worker Cloud Run utilizzando la consoleGoogle Cloud , Google Cloud CLI 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

    • Specifica il comando che vuoi che il container esegua se non vuoi utilizzare il comando entry point definito nell'immagine container. (Facoltativo) Specifica gli argomenti del comando dell'entry point.
  5. Fai clic su Crea o Esegui il deployment.

gcloud

Per aggiornare il comando di avvio e gli argomenti per un servizio esistente:

gcloud beta run worker-pools update WORKER_POOL --command COMMAND --args ARG1,ARG-N

Sostituisci quanto segue:

  • WORKER_POOL: il nome del pool di worker.
  • COMMAND: il comando con cui viene avviato il container, se non utilizzi il comando predefinito.
  • ARG1: l'argomento che stai inviando al comando del container. Utilizza un elenco delimitato da virgole per più di un argomento.

Per specificare il punto di ingresso e gli argomenti durante il deployment di un worker pool nuovo o esistente:

gcloud beta run worker-pools deploy --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

Sostituisci IMAGE_URL con un riferimento all'immagine container che contiene il pool di worker, ad esempio us-docker.pkg.dev/cloudrun/container/worker-pool:latest.

Se vuoi ripristinare i valori predefiniti del container per i comandi entrypoint e gli argomenti, fornisci stringhe vuote come segue:

gcloud beta run worker-pools deploy --image IMAGE_URL --command "" --args ""

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"
      command = ["COMMAND"]
      args = ["ARG1", "ARG2"]
    }
  }
}

Sostituisci quanto segue:

  • WORKER_POOL: il nome del pool di worker.
  • REGION: la regione Google Cloud , ad esempio europe-west1.
  • IMAGE_URL: un riferimento all'immagine container che contiene il pool di worker, ad esempio us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
  • COMMAND: il comando con cui viene avviato il container, se non utilizzi il comando predefinito.
  • ARG1, ARG2: gli argomenti che invii al comando del contenitore.

Configura l'ordine di avvio del container per i deployment sidecar

Per specificare l'ordine di avvio del container in un deployment sidecar, utilizza la funzionalità delle dipendenze del container. Specifica i container con dipendenze ed elenca i container da cui dipendono, in modo che vengano avviati per primi. I container che non hanno dipendenze vengono sempre avviati per primi e contemporaneamente.

Per utilizzare correttamente questa funzionalità, devi utilizzare i probe di controllo di integrità'integrità all'avvio. Il probe di avvio consente a Cloud Run di ispezionare l'integrità di un container dipendente, assicurandosi che venga superato correttamente prima di avviare il container successivo. Se non utilizzi controlli di integrità, i container vengono avviati nell'ordine specificato anche se i container da cui dipendono non vengono avviati.

Tieni presente che non esiste un probe di controllo di integrità di avvio predefinito per i pool di worker.

Utilizza la console Google Cloud o Google Cloud CLI per specificare l'ordine di avvio:

Console

  1. Nella console Google Cloud , vai alla pagina Cloud Run:

    Vai a Cloud Run

    • Seleziona Pool di worker dal menu.
    • Per un worker pool esistente, fai clic sul worker pool nell'elenco e seleziona Modifica ed esegui il deployment della nuova revisione per visualizzare il modulo di deployment della revisione.
    • Per un nuovo worker pool, fai clic su Esegui il deployment del container per visualizzare il modulo Crea worker pool.
  2. Per un nuovo pool di worker, specifica il nome del pool di worker, l'URL del container di ingresso, l'allocazione della CPU, il controllo dell'ingresso e l'autenticazione. Nella scheda Container, volumi, networking, sicurezza, procedi nel seguente modo:

    1. Configura il contenitore di ingresso.
    2. Per aggiungere ciascuno degli altri contenitori che stai implementando, fai clic su Aggiungi contenitore.
    3. Per tutti i container tranne quello Ingress, configura un controllo di integrità all'avvio.
    4. Se un container deve essere avviato dopo determinati altri container, selezionali nel menu Ordine di avvio dei container.
  3. Per un pool di lavoratori esistente:

    1. Per tutti i container tranne quello Ingress, configura un controllo di integrità all'avvio.
    2. Ogni contenitore viene visualizzato con il proprio menu Ordine di avvio del contenitore. Se un container deve essere avviato dopo l'avvio di altri container, utilizza il menu Ordine di avvio dei container per selezionare i container che devono essere avviati per primi.
  4. Completa le altre configurazioni richieste, poi fai clic su Crea per un nuovo worker pool o su Esegui il deployment per un worker pool esistente. Attendi il completamento del deployment.

gcloud

Prima di utilizzare Google Cloud CLI per specificare l'ordine di avvio, configura un controllo di integrità all'avvio.

  1. In the Google Cloud console, activate Cloud Shell.

    Activate Cloud Shell

    At the bottom of the Google Cloud console, a Cloud Shell session starts and displays a command-line prompt. Cloud Shell is a shell environment with the Google Cloud CLI already installed and with values already set for your current project. It can take a few seconds for the session to initialize.

  2. Per eseguire il deployment di più container in un servizio con un ordine di avvio specificato, esegui il comando:

  3. gcloud beta run worker-pools deploy WORKER_POOL \
         --container CONTAINER_1_NAME --image='WORKER_POOL_IMAGE'
         --container CONTAINER_2_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME \
         --container CONTAINER_3_NAME --image='SIDECAR_IMAGE' --depends-on=CONTAINER_1_NAME,CONTAINER_2_NAME

    Sostituisci quanto segue:

    • WORKER_POOL: il nome del pool di worker.
    • IMAGE_URL: un riferimento all'immagine container che contiene il pool di worker, ad esempio us-docker.pkg.dev/cloudrun/container/worker-pool:latest.
    • SIDECAR_IMAGE: un riferimento all'immagine del container sidecar.

      Se vuoi configurare ogni contenitore nel comando di deployment, fornisci la configurazione di ogni contenitore dopo i parametri container.

Visualizza la configurazione del container 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 dei container del pool di worker.