Gestione dei servizi

In questa pagina viene descritta la creazione di un servizio e la visualizzazione delle relative informazioni. I servizi sono le risorse principali di Cloud Run. Ogni servizio ha un indirizzo permanente che non cambierà nel tempo man mano che ne esegui il deployment.

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 Ruolo IAM Sviluppatore Cloud Run (roles/run.developer) per il servizio Cloud Run.

Per un elenco di ruoli e autorizzazioni IAM associati Cloud Run, consulta Ruoli IAM di Cloud Run e le autorizzazioni IAM di Cloud Run. Se il tuo servizio Cloud Run si interfaccia con Le API Google Cloud, come le librerie client di Cloud, consultano guida alla configurazione dell'identità dei servizi. Per ulteriori informazioni sulla concessione dei ruoli, consulta autorizzazioni di deployment e gestire l'accesso.

Creare un servizio

Per creare un nuovo servizio, esegui il deployment di un'immagine container nel tempo. Il deployment di un nuovo servizio ha ulteriori istruzioni.

Visualizza l'elenco dei servizi nel tuo progetto

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

Console

Per visualizzare l'elenco dei servizi:

  1. Vai a Cloud Run

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

    elenco dei 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, come 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 dei servizi da codice:

API REST

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

Ad esempio, se utilizzi 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 dispone delle autorizzazioni IAM per visualizzare i servizi. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un utilizzando gcloud auth print-access-token. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container.
  • REGION con la regione Google Cloud del servizio.
  • PROJECT-ID con l'ID progetto Google Cloud.

Copiare un servizio

Puoi creare una copia di un servizio esistente utilizzando la console Google Cloud o YAML. Puoi modificare tutto ciò che vuoi nella copia, inclusi nome e regione.

Console

Per copiare un servizio:

  1. Vai a Cloud Run

  2. Seleziona il servizio da copiare dall'elenco visualizzato per i tuoi progetto:

    elenco dei servizi

    1. Fai clic su Copia.

    2. Nella pagina di copia del servizio, imposta o modifica i valori che desideri modificare. come regione e così via. Se intendi mantenere la stessa regione, devi fornire un valore un nuovo nome per il servizio.

    3. Fai clic su Crea per creare una copia ed eseguirne il deployment utilizzando il nuovo 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 necessarie alla configurazione del 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 eseguendo il deployment della copia in un'altra regione, puoi usare il nome precedente.
    • Sostituisci REVISION con un nuovo nome di revisione o eliminala (se presente). Se fornisci un nuovo nome per la revisione, deve soddisfare i seguenti criteri:
      • Inizia con SERVICE-
      • Contiene solo lettere minuscole, numeri e -
      • Non termina con -
      • Non deve superare i 63 caratteri
  3. Copia il servizio utilizzando questo comando:

    gcloud run services replace service.yaml

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

Visualizzare altri dettagli su un servizio

Per vedere altri dettagli su un servizio,

Console

Per visualizzare i dettagli di un servizio:

  1. Vai a Cloud Run

  2. Fai clic sul servizio desiderato nell'elenco visualizzato per il tuo 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 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 eseguire l'esportazione in formato YAML senza etichette o stato generati:

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

Puoi anche utilizzare il flag --format per generare 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: Leggi le guide di Cloud Run Explorer per IntelliJ e Visual Studio Code.

Per maggiori dettagli sulle revisioni dei servizi, vedi Gestione delle revisioni.

Librerie client

Per visualizzare i dettagli di un servizio proveniente dal codice:

API REST

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

Ad esempio, se utilizzi 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 dispone delle autorizzazioni IAM per visualizzare i dettagli del servizio. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un utilizzando gcloud auth print-access-token. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container.
  • 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 disabilitare un servizio e una revisione Cloud Run esistenti, chiedi all'amministratore di concederti Ruolo IAM Amministratore Cloud Run (roles/run.admin) per il progetto.

Cloud Run non offre un modo diretto per creare un servizio interrompere la gestione del traffico, ma è possibile ottenere un risultato simile la revoca dell'autorizzazione per richiamare il servizio alle identità che richiamano il servizio. In particolare, se il servizio è "pubblico", rimuovi allUsers dal ruolo Invoker di Cloud Run (roles/run.invoker).

Elimina servizi esistenti

All'eliminazione di un servizio si applicano le seguenti considerazioni:

  • L'eliminazione di un servizio elimina tutte le risorse correlate al servizio, incluse tutte le revisioni di questo servizio indipendentemente dal fatto che stiano gestendo o meno il traffico.
  • L'eliminazione di un servizio non rimuove automaticamente le immagini container da Container Registry. Per eliminare da Container Registry le immagini container utilizzate dalle revisioni eliminate, consulta l'articolo Eliminare le immagini.
  • L'eliminazione di un servizio con uno o più trigger Eventarc non avviene automaticamente eliminerai 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 o ripristinare il servizio. Tuttavia, se dopo l'eliminazione di un servizio, esegui il deployment di un nuovo servizio con lo stesso nella stessa regione, avrà lo stesso URL dell'endpoint.

Console

Per eliminare un servizio:

  1. Vai a Cloud Run

  2. Individua il servizio che desideri eliminare nell'elenco dei servizi e fai clic su relativa alla casella di controllo per selezionarla.

  3. Fai clic su ELIMINA. Questa operazione elimina 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 tuo 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 a l'endpoint service dell'API Cloud Run Admin.

Ad esempio, se utilizzi 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 dispone delle autorizzazioni IAM per eliminare un servizio. Ad esempio, se hai eseguito l'accesso a gcloud, puoi recuperare un utilizzando gcloud auth print-access-token. Dall'interno di un'istanza di container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza di container.
  • SERVICE-NAME con il nome del servizio.
  • REGION con la regione Google Cloud del servizio.
  • PROJECT-ID con l'ID progetto Google Cloud.