Configura container

Mantieni tutto organizzato con le raccolte Salva e classifica i contenuti in base alle tue preferenze.

In questa pagina viene descritto come configurare la porta del container, il comando accesspoint e gli argomenti per i servizi Cloud Run e come configurare il comando e gli argomenti accesspoint per i job Cloud Run.

Quando Cloud Run avvia un container, esegue il comando defaultpoint dell'immagine e gli argomenti del comando predefinito. Se vuoi sostituire gli argomenti predefiniti del punto di ingresso e del comando 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 al comando.

Configura la porta container (servizi)

Qualsiasi modifica della configurazione determina la creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.

Per i servizi Cloud Run, Cloud Run inserisce la variabile di ambiente PORT nel container. Il container deve rimanere in ascolto sulla porta definita dalla variabile di ambiente PORT anziché da una specifica porta impostata come hardcoded. Tuttavia, se ciò non è possibile, puoi configurare quali richieste di trasferimento vengono inviate al container. Tieni presente che le impostazioni della porta non si applicano ai job Cloud Run.

Console

  1. Vai a Cloud Run

  2. Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio, quindi su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, connessioni, sicurezza per espandere la pagina di configurazione del servizio.

  4. Fai clic sulla scheda Contenitore.

    immagine

  5. Specifica la porta a cui vuoi inviare le richieste, se non il valore predefinito "8080". Imposta anche la variabile di ambiente "PORT".

  6. Fai clic su Crea o Esegui il deployment.

Riga di comando

Puoi aggiornare la configurazione della porta di un servizio utilizzando il seguente comando:

gcloud run services update SERVICE --port PORT

Sostituisci

  • SERVICE con il nome del servizio.
  • PORT con la porta a cui inviare le richieste. Tieni presente che la porta predefinita è 8080.

Puoi anche configurare le porte durante il deployment utilizzando il comando:

gcloud run deploy --image IMAGE_URL --port PORT

Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest.

YAML

Puoi scaricare e visualizzare la configurazione del servizio esistente utilizzando il comando gcloud run services describe --format export, che restituisce risultati puliti in formato YAML. Puoi quindi modificare i campi descritti di seguito e caricare il file YAML modificato con il comando gcloud run services replace. Assicurati di modificare solo i campi come documentato.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiorna l'attributo containerPort::

    apiVersion: serving.knative.dev/v1
    kind: Service
    metadata:
      name: SERVICE
    spec:
      template:
        metadata:
          name: REVISION
        spec:
          containers:
          - image: IMAGE_URL
            ports:
            - containerPort: PORT
    

    Sostituisci

    • SERVICE con il nome del tuo servizio Cloud Run
    • IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest
    • PORT con la porta a cui inviare le richieste
    • REVISION con un nuovo nome di revisione o eliminalo (se presente). Se si fornisce un nuovo nome di revisione, deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con -
      • Non superi i 63 caratteri
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Configurare il comando e gli argomenti del punto di ingresso del container

Puoi configurare i comandi e gli argomenti del punto di ingresso per i job e i servizi Cloud Run.

Per i servizi Cloud Run

Qualsiasi modifica della configurazione determina la creazione di una nuova revisione. Anche le revisioni successive riceveranno automaticamente questa impostazione di configurazione, a meno che non apporti aggiornamenti espliciti per modificarla.

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

Puoi impostare il comando pointpoint e gli argomenti utilizzando la console di Google Cloud o la riga di comando gcloud oppure utilizzando un file .yaml quando crei un nuovo servizio o esegui il deployment di una nuova revisione:

Console

  1. Vai a Cloud Run

  2. Fai clic su Crea servizio se stai configurando un nuovo servizio in cui stai eseguendo il deployment. Se stai configurando un servizio esistente, fai clic sul servizio, quindi su Modifica ed esegui il deployment di una nuova revisione.

  3. Se stai configurando un nuovo servizio, compila la pagina delle impostazioni del servizio iniziale come preferisci, quindi fai clic su Container, connessioni, sicurezza per espandere la pagina di configurazione del servizio.

  4. Fai clic sulla scheda Contenitore.

    immagine

  5. Specifica il comando che vuoi che venga eseguito dal container, se non il comando definito nel container e, facoltativamente, gli argomenti al comandoentrypoint.

  6. Fai clic su Crea o Esegui il deployment.

Riga di comando

Puoi aggiornare il comando start e gli argomenti di un determinato servizio utilizzando il seguente comando:

gcloud run services update SERVICE --command COMMAND --args ARG1,ARG-N

Sostituisci

  • COMMAND con il comando che deve essere avviato dal container se non utilizzi il comando predefinito.
  • ARG1 con l'argomento che stai inviando al comando container, utilizza un elenco delimitato da virgole per più di un argomento.

Puoi anche specificare il punto di ingresso e gli argomenti durante il deployment utilizzando il comando:

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

Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest

YAML

Puoi scaricare e visualizzare la configurazione del servizio esistente utilizzando il comando gcloud run services describe --format export, che restituisce risultati puliti in formato YAML. Puoi quindi modificare i campi descritti di seguito e caricare il file YAML modificato con il comando gcloud run services replace. Assicurati di modificare solo i campi come documentato.

  1. Per visualizzare e scaricare la configurazione:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Aggiorna gli attributi command e args:

    spec:
      containers:
      - image: IMAGE_URL
        command:
        - COMMAND
        args:
        - "ARG1"
        - "ARG-N"
    

    Sostituisci

    • IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/hello:latest
    • COMMAND con il comando che deve essere avviato dal container se non utilizzi il comando predefinito.
    • ARG1 con l'argomento che stai inviando al comando container, utilizza un elenco delimitato da virgole per più di un argomento.
  3. Sostituisci il servizio con la nuova configurazione utilizzando il seguente comando:

    gcloud run services replace service.yaml

Terraform

Aggiungi il seguente codice a una risorsa google_cloud_run_service nella configurazione Terraform. Sostituisci /server con il comando utilizzato per avviare il container e aggiungi gli eventuali argomenti necessari all'array di args.

template {
  spec {
    containers {
      image = "us-docker.pkg.dev/cloudrun/container/hello"

      # Container "entry-point" command
      # https://cloud.google.com/run/docs/configuring/containers#configure-entrypoint
      command = ["/server"]

      # Container "entry-point" args
      # https://cloud.google.com/run/docs/configuring/containers#configure-entrypoint
      args = []
    }
  }

Per applicare la configurazione Terraform in un progetto Google Cloud, completa i passaggi seguenti:

  1. Avvia Cloud Shell.
  2. Imposta il progetto Google Cloud a cui vuoi applicare la configurazione Terraform:
    export GOOGLE_CLOUD_PROJECT=PROJECT_ID
    
  3. Crea una directory e apri un nuovo file al suo interno. Il nome file deve avere l'estensione .tf, ad esempio main.tf:
    mkdir DIRECTORY && cd DIRECTORY && nano main.tf
    
  4. Copia l'esempio in main.tf.
  5. Esamina e modifica i parametri di esempio da applicare al tuo ambiente.
  6. Salva le modifiche premendo Ctrl-x, quindi y.
  7. Inizializza Terraform:
    terraform init
  8. Rivedi la configurazione e verifica che le risorse che Terraform creerà o aggiornerà corrispondano alle tue aspettative:
    terraform plan

    Apporta le correzioni necessarie alla configurazione.

  9. Applica la configurazione Terraform eseguendo il comando seguente e inserendo yes nel prompt:
    terraform apply

    Attendi finché Terraform non visualizza il messaggio "Applica completato".

  10. Apri il progetto Google Cloud per visualizzare i risultati. Nella console Google Cloud, vai alle tue risorse nell'interfaccia utente per assicurarti che Terraform le abbia create o aggiornate.

Per job Cloud Run

Per configurare il punto di ingresso di comando e gli argomenti per i job:

Console

  1. Vai a Cloud Run

  2. Se stai configurando un nuovo job, fai clic sulla scheda Job e compila la pagina delle impostazioni del job iniziale come preferisci. Se stai configurando un job esistente, fai clic sul job e poi su Modifica.

  3. Fai clic su Container, variabili e secret, connessioni, sicurezza per espandere la pagina delle proprietà del job.

  4. Fai clic sulla scheda Generali.

    immagine

  5. Specifica il comando che vuoi che venga eseguito dal container, se non il comando definito nel container e, facoltativamente, gli argomenti al comandoentrypoint.

  6. Fai clic su Crea o Aggiorna.

Riga di comando

  1. Per impostare il comando start e gli argomenti per un nuovo job:

    gcloud beta run jobs create JOB_NAME --image IMAGE_URL --command COMMAND --args ARG1,ARG-N

    Sostituisci

    • JOB_NAME con il nome del lavoro.
    • COMMAND con il comando che deve essere avviato dal container se non utilizzi il comando predefinito.
    • ARG1 con l'argomento che stai inviando al comando container oppure utilizza un elenco delimitato da virgole per più di un argomento.
    • Sostituisci IMAGE_URL con un riferimento all'immagine container, ad esempio us-docker.pkg.dev/cloudrun/container/job:latest.
  2. Per aggiornare il comando e gli argomenti per un job esistente:

    gcloud beta run jobs update JOB_NAME --command COMMAND --args ARG1,ARG-N 

Utilizzare segni di uguale o virgole negli argomenti

Se utilizzi segni uguali negli argomenti, forniscili utilizzando il seguente formato:

gcloud run deploy  \
  --args="--repo-allowlist=github.com/example/example_demo" \
  --args="--gh-webhook-secret=XX" \

Se gli argomenti utilizzano virgole, consulta la configurazione delle variabili di ambiente per i dettagli sull'escape di tali variabili.

Visualizza le impostazioni del contenitore

Per visualizzare le impostazioni del container corrente per il tuo servizio Cloud Run:

Console

  1. Vai a Cloud Run

  2. Fai clic sul servizio che ti interessa per aprire la pagina Dettagli del servizio.

  3. Fai clic sulla scheda Revisioni.

  4. Nel riquadro dei dettagli a destra, l'impostazione del contenitore è indicata nella scheda Generali.

Riga di comando

  1. Utilizza il comando seguente:

    gcloud run services describe SERVICE
  2. Individua l'impostazione del container nella configurazione restituita.

Per visualizzare le impostazioni del container attuali per il tuo job Cloud Run:

Console

  1. Vai ai job Cloud Run

  2. Fai clic sul job che ti interessa per aprire la pagina Dettagli job.

  3. Fai clic sulla scheda Configurazione.

  4. Individua l'impostazione del contenitore nei dettagli di configurazione.

Riga di comando

  1. Utilizza il comando seguente:

    gcloud beta run jobs describe JOB_NAME
  2. Individua l'impostazione del container nella configurazione restituita.