Gestione dei servizi

Questa pagina descrive la creazione di un servizio e la visualizzazione delle informazioni su un servizio.

Ogni servizio ha un URL run.app univoco e permanente che non cambia nel tempo man mano che esegui il deployment di nuove revisioni. Anche le funzioni di cui è stato eseguito il deployment su Cloud Run vengono trattate come servizio e a cui viene assegnato un indirizzo run.app. Il dominio permanente del servizio è costituito dal nome del servizio e da un hash.

Ruoli obbligatori

Per ottenere le autorizzazioni necessarie per gestire i servizi e le revisioni di Cloud Run, chiedi all'amministratore di concederti il ruolo IAM Sviluppatore Cloud Run (roles/run.developer) per il tuo servizio Cloud Run.

Per un elenco dei ruoli e delle autorizzazioni IAM associati a Cloud Run, consulta Ruoli IAM di Cloud Run e Autorizzazioni IAM di Cloud Run. Se il servizio Cloud Run interagisce con le API Google Cloud, come le librerie client di Cloud, consulta la guida alla configurazione dell'identità del servizio. Per ulteriori informazioni sulla concessione dei ruoli, consulta le autorizzazioni di deployment e gestisci l'accesso.

Creare un servizio

Creando un nuovo servizio, esegui il deployment di un'immagine container per la prima volta. Per ulteriori istruzioni, consulta la sezione Eseguire il deployment di un nuovo servizio.

Visualizza l'elenco dei servizi nel progetto

Puoi visualizzare un elenco dei servizi disponibili nel tuo progetto utilizzando la console Google Cloud o la riga di comando gcloud:

Console

Per visualizzare l'elenco dei servizi:

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

    Vai a Cloud Run

  2. Esamina l'elenco di servizi visualizzato per il tuo progetto:

    elenco di servizi

gcloud

Per elencare i servizi nel tuo progetto:

gcloud run services list

Tieni presente che a ogni servizio è associato un URL.

Puoi filtrare questo elenco in base alle proprietà della definizione del servizio, ad esempio un'etichetta assegnata.

Cloud Code

Per visualizzare l'elenco dei servizi con Cloud Code, leggi le guide di Cloud Run Explorer per IntelliJ e Visual Studio Code.

Librerie client

Per visualizzare l'elenco di servizi dal codice:

API REST

Per visualizzare l'elenco dei servizi nel tuo progetto, invia una richiesta HTTP GET all'endpoint service dell'API Cloud Run Admin.

Ad esempio, utilizzando curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services

Sostituisci:

  • ACCESS_TOKEN con un token di accesso valido per un account che possiede le autorizzazioni IAM per visualizzare i servizi. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando gcloud auth print-access-token. All'interno di un'istanza del contenitore Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza del contenitore.
  • REGION con la regione Google Cloud del servizio.
  • PROJECT-ID con l'ID progetto Google Cloud.

Visualizzare l'elenco delle funzioni del progetto

Puoi visualizzare un elenco delle funzioni disponibili nel tuo progetto utilizzando la console Google Cloud:

Console

Per filtrare in base alle funzioni nell'elenco dei servizi:

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

    Vai a Cloud Run

  2. Esamina l'elenco di servizi visualizzato per il tuo progetto:

    elenco di servizi

  3. Seleziona Filtra servizi > Tipo di implementazione > Funzione.

    Se in precedenza hai eseguito il deployment della funzione utilizzando Cloud Functions (API 2ª generazione.), nella colonna Eseguito da verrà visualizzata Cloud Functions.

Copiare un servizio

Puoi creare una copia di un servizio esistente utilizzando la console Google Cloud o YAML. Puoi modificare qualsiasi elemento della copia, inclusi nome e regione.

Console

Per copiare un servizio:

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

    Vai a Cloud Run

  2. Seleziona il servizio da copiare dall'elenco visualizzato dei servizi per il tuo progetto:

    elenco di servizi

    1. Fai clic su Copia.

    2. Nella pagina della copia del servizio, imposta o modifica i valori che vuoi modificare, come la regione e così via. Se mantieni la stessa regione, devi fornire un nuovo nome per il servizio.

    3. Fai clic su Crea per creare una copia e implementarla utilizzando il nuovo nome del servizio.

YAML

  1. Se stai creando un nuovo servizio, salta questo passaggio. Se stai aggiornando un servizio esistente, scarica la relativa configurazione YAML:

    gcloud run services describe SERVICE --format export > service.yaml
  2. Apporta le modifiche di configurazione desiderate al servizio.

     apiVersion: serving.knative.dev/v1
     kind: Service
     metadata:
       annotations:
         ...
       name: SERVICE
       ...
     spec:
       template:
         metadata:
           annotations:
           ...
           name: REVISION
    
    • Se non esegui il deployment della copia in un'altra regione, sostituisci SERVICE con il nome che vuoi utilizzare per la copia. Se stai eseguendo il deployment della copia in una regione diversa, puoi utilizzare il vecchio nome.
    • Sostituisci REVISION con un nuovo nome di revisione o eliminalo (se presente). Se fornisci un nuovo nome di revisione, questo deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Deve contenere solo lettere minuscole, numeri e -
      • Non termina con -
      • Non deve superare i 63 caratteri
  3. Copia il servizio utilizzando il seguente comando:

    gcloud run services replace service.yaml

    Utilizza il flag --region per eseguire il deployment della copia in un'altra regione.

Visualizzare ulteriori dettagli su un servizio

Per visualizzare ulteriori dettagli su un servizio,

Console

Per visualizzare i dettagli di un servizio:

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

    Vai a Cloud Run

  2. Fai clic sul servizio desiderato nell'elenco visualizzato dei servizi per il tuo progetto per aprire la visualizzazione dei dettagli del servizio.

gcloud

Per visualizzare i dettagli di un servizio:

gcloud run services describe SERVICE
Sostituisci SERVICE con il nome del servizio.

Puoi utilizzare il flag --format per formattare l'output. Ad esempio, come file YAML:

gcloud run services describe SERVICE --region REGION --format yaml

Sostituisci:

  • SERVICE con il nome del servizio.
  • REGION con la regione Google Cloud del servizio.

Puoi utilizzare --format export per esportare in formato YAML senza etichette o stato generati automaticamente:

gcloud run services describe SERVICE --region REGION --format export

Puoi anche utilizzare il flag --format per ottenere l'URL del servizio:

gcloud run services describe SERVICE --region REGION --format='value(status.url)'

Cloud Code

Per visualizzare i dettagli di un servizio con Cloud Code, consulta le guide di Cloud Run Explorer per IntelliJ e Visual Studio Code.

Per ulteriori dettagli sulle revisioni dei servizi, consulta Gestire le revisioni.

Librerie client

Per visualizzare i dettagli di un servizio dal codice:

API REST

Per visualizzare i dettagli di un servizio, invia una richiesta HTTP GET all'endpoint service dell'API Cloud Run Admin.

Ad esempio, utilizzando curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X GET \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME

Sostituisci:

  • ACCESS_TOKEN con un token di accesso valido per un account che possiede le autorizzazioni IAM per visualizzare i dettagli del servizio. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando gcloud auth print-access-token. All'interno di un'istanza del contenitore Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza del contenitore.
  • SERVICE-NAME con il nome del servizio.
  • REGION con la regione Google Cloud del servizio.
  • PROJECT-ID con l'ID progetto Google Cloud.

Disattivare un servizio esistente

Per ottenere le autorizzazioni necessarie per disattivare un servizio e una revisione Cloud Run esistenti, chiedi all'amministratore di concederti il ruolo IAM Amministratore di Cloud Run (roles/run.admin) nel progetto.

Cloud Run non offre un modo diretto per interrompere il servizio di invio del traffico, ma puoi ottenere un risultato simile revoca l'autorizzazione di chiamata del servizio alle identità che lo invocano. In particolare, se il servizio è "public",rimuovi allUsers dal ruolo Cloud Run Invoker (roles/run.invoker).

Eliminare i servizi esistenti

Le seguenti considerazioni si applicano all'eliminazione di un servizio:

  • L'eliminazione di un servizio comporta l'eliminazione di tutte le risorse correlate, incluse tutte le revisioni del servizio, indipendentemente dal fatto che gestiscano o meno il traffico.
  • L'eliminazione di un servizio non comporta la rimozione automatica delle immagini container da Container Registry. Per eliminare le immagini container utilizzate dalle revisioni eliminate da Container Registry, consulta Eliminare le immagini.
  • L'eliminazione di un servizio con uno o più trigger Eventarc non comporta l'eliminazione automatica di questi trigger. Per eliminare gli attivatori, consulta Gestire gli attivatori.
  • Dopo l'eliminazione, il servizio rimane visibile nella console Google Cloud e nell'interfaccia a riga di comando fino al completamento dell'eliminazione. Tuttavia, non puoi aggiornare il servizio.
  • L'eliminazione di un servizio è definitiva: non è possibile annullare l'operazione o ripristinare il servizio. Tuttavia, se dopo aver eliminato un servizio ne esegui il deployment con lo stesso nome nella stessa regione, avrà lo stesso URL endpoint.

Console

Per eliminare un servizio:

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

    Vai a Cloud Run

  2. Individua il servizio che vuoi eliminare nell'elenco dei servizi e fai clic sulla relativa casella di controllo per selezionarlo.

  3. Fai clic su ELIMINA. Verranno eliminate tutte le revisioni del servizio.

gcloud

Per eliminare un servizio, utilizza il comando:

gcloud run services delete SERVICE --region REGION

Sostituisci

  • SERVICE con il nome del servizio.
  • REGION con la regione Google Cloud del servizio.

Librerie client

Per eliminare un servizio dal codice:

API REST

Per eliminare un servizio, invia una richiesta HTTP DELETE all'endpoint service dell'API Cloud Run Admin.

Ad esempio, utilizzando curl:

curl -H "Content-Type: application/json" \
  -H "Authorization: Bearer ACCESS_TOKEN" \
  -X DELETE \
  -d '' \
  https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE-NAME

Sostituisci:

  • ACCESS_TOKEN con un token di accesso valido per un account che possiede le autorizzazioni IAM per eliminare un servizio. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un token di accesso utilizzando gcloud auth print-access-token. All'interno di un'istanza del contenitore Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza del contenitore.
  • SERVICE-NAME con il nome del servizio.
  • REGION con la regione Google Cloud del servizio.
  • PROJECT-ID con l'ID progetto Google Cloud.