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 ignorare 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 Google Cloud CLI quando crei un nuovo pool di worker o esegui il deployment di una nuova revisione:

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:

  • WORKER_POOL con il nome del pool di worker.
  • COMMAND con il comando con cui viene avviato il container, se non utilizzi il comando predefinito.
  • ARG1 con 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 pool di worker 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 ""

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 dei 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 dell'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 Google Cloud CLI per specificare l'ordine di avvio:

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:

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 WORKER_POOL con il nome del pool di worker in cui esegui il deployment. Se ometti questo parametro, ti verrà chiesto il nome del pool di worker in un secondo momento.
  • 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.
  • Sostituisci SIDECAR_IMAGE con un riferimento all'immagine container sidecar

    Se vuoi configurare ogni contenitore nel comando di deployment, fornisci la configurazione di ciascun 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 pool di worker che vuoi esaminare per visualizzare il riquadro dei dettagli.

  4. Fai clic sulla scheda Container per visualizzare la configurazione dei container del pool di worker.