Questa pagina descrive la creazione di un servizio e la visualizzazione delle informazioni relative a un servizio.
Ogni servizio ha un URL run.app
unico e permanente che non cambierà nel tempo man mano che esegui il deployment di nuove revisioni. Le funzioni di cui è stato eseguito il deployment su Cloud Run vengono trattate anche come servizio e 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 Cloud Run,
chiedi all'amministratore di concederti il
ruolo IAM Sviluppatore Cloud Run (roles/run.developer
)
sul tuo servizio Cloud Run.
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 servizio 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.
Crea un servizio
Crei un nuovo servizio eseguendo il deployment di un'immagine container per la prima volta. Il deployment di un nuovo servizio contiene ulteriori istruzioni.
Visualizza l'elenco dei servizi nel progetto
Puoi visualizzare un elenco dei servizi disponibili nel tuo progetto utilizzando la consoleGoogle Cloud o la riga di comando gcloud:
Console
Per visualizzare l'elenco dei servizi:
Nella console Google Cloud , vai a Cloud Run:
Esamina l'elenco di servizi visualizzato per il tuo progetto:
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 dei 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
dispone delle 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
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - REGION con la regione Google Cloud del servizio.
- PROJECT-ID con l' Google Cloud ID progetto.
Visualizzare l'elenco delle funzioni nel progetto
Puoi visualizzare un elenco delle funzioni disponibili nel tuo progetto utilizzando la consoleGoogle Cloud :
Console
Per filtrare le funzioni nell'elenco dei servizi:
Nella console Google Cloud , vai a Cloud Run:
Esamina l'elenco di servizi visualizzato per il tuo progetto:
Seleziona Filtra servizi > Tipo di deployment > Funzione.
Se hai eseguito il deployment della funzione in precedenza utilizzando l'API Cloud Functions v2, la colonna Eseguito il deployment da mostrerà 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:
Nella console Google Cloud , vai a Cloud Run:
Seleziona il servizio da copiare dall'elenco visualizzato dei servizi per il tuo progetto:
Fai clic su Copia.
Nella pagina di copia del servizio, imposta o modifica i valori che vuoi cambiare, come la regione e così via. Se mantieni la stessa regione, devi fornire un nuovo nome per il servizio.
Fai clic su Crea per creare una copia e eseguirne il deployment utilizzando il nuovo nome del servizio.
YAML
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
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 un'altra regione, puoi utilizzare il nome precedente.
- 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-
- Contiene solo lettere minuscole, numeri e
-
- Non termina con
-
- Non supera i 63 caratteri
- Inizia con
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:
Nella console Google Cloud , vai a Cloud Run:
Fai clic sul servizio che ti interessa 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
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 esportare come 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, leggi le guide di Cloud Run Explorer per IntelliJ e Visual Studio Code.
Per maggiori dettagli sulle revisioni del servizio, consulta Gestione delle 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
dispone delle 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
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - SERVICE-NAME con il nome del servizio.
- REGION con la regione Google Cloud del servizio.
- PROJECT-ID con l' Google Cloud ID progetto.
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.
Quando disabiliti un servizio, le richieste attualmente in fase di elaborazione potranno essere completate.
Tuttavia, qualsiasi ulteriore richiesta all'URL del servizio non andrà a buon fine e verrà restituito un errore Service unavailable
o
Service disabled
.
Le richieste di revisione del servizio attive solo a causa dei tag di traffico non sono interessate perché queste revisioni non sono disattivate.
Per disattivare un servizio, imposta la scalabilità su zero. Puoi disattivare un servizio utilizzando la console Google Cloud , Google Cloud CLI, il file YAML o l'API:
Console
Nella console Google Cloud , vai a Cloud Run:
Fai clic sul servizio che vuoi disattivare per visualizzare il relativo riquadro dei dettagli, poi fai clic sull'icona a forma di penna accanto a Scalabilità in alto a destra del riquadro dei dettagli.
Individua il modulo Modifica scalabilità e seleziona Scalabilità manuale.
Nel campo etichettato Numero di istanze, inserisci il valore
0
(zero).Fai clic su Salva.
gcloud
Per disattivare un servizio, utilizza questo comando per impostare lo scaling su zero:
gcloud beta run services update SERVICE --scaling=0
Sostituisci SERVICE con il nome del tuo servizio.
YAML
Scarica la configurazione YAML del servizio:
gcloud run services describe SERVICE --format export > service.yaml
Imposta l'attributo
manualInstanceCount
su zero (0
):apiVersion: serving.knative.dev/v1 kind: Service metadata: name: SERVICE annotations: run.googleapis.com/launch-stage: BETA run.googleapis.com/scalingMode: manual run.googleapis.com/manualInstanceCount: `0`
Sostituisci SERVICE con il nome del tuo servizio Cloud Run.
Crea o aggiorna il servizio utilizzando il seguente comando:
gcloud run services replace service.yaml
API REST
Per disattivare un servizio, invia una richiesta HTTP PATCH
all'endpoint service
dell'API Cloud Run Admin.
Ad esempio, utilizzando curl
:
curl -H "Content-Type: application/json" \ -H "Authorization: Bearer ACCESS_TOKEN" \ -X PATCH \ -d '{"launchStage":"BETA","scaling":{"manualInstanceCount":0 }}' \ https://run.googleapis.com/v2/projects/PROJECT_ID/locations/REGION/services/SERVICE?update_mask=launchStage,scaling.manualInstanceCount
Sostituisci:
- ACCESS_TOKEN con un token di accesso valido per un account che
dispone delle autorizzazioni IAM per aggiornare un servizio.
Ad esempio, se hai eseguito l'accesso a
gcloud
, puoi recuperare un token di accesso utilizzandogcloud auth print-access-token
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - SERVICE con il nome del servizio.
- REGION con la regione Google Cloud in cui è stato eseguito il deployment del servizio.
- PROJECT_ID con l' Google Cloud ID progetto.
Terraform
Per disattivare un servizio, imposta l'attributo manual_instance_count
su zero (0
):
resource "google_cloud_run_v2_service" "default" {
name = "SERVICE_NAME"
location = "REGION"
launch_stage = "BETA"
template {
containers {
image = "IMAGE_URL"
}
}
scaling {
scaling_mode = "MANUAL"
manual_instance_count = "0"
}
}
Sostituisci:
- SERVICE_NAME con il nome del tuo servizio Cloud Run.
- REGION con la regione Google Cloud . Ad esempio
europe-west1
. - IMAGE_URL con un riferimento all'immagine container, ad esempio
us-docker.pkg.dev/cloudrun/container/hello:latest
. Se utilizzi Artifact Registry, il repository REPO_NAME deve essere già stato creato. L'URL ha la formaLOCATION-docker.pkg.dev/PROJECT_ID/REPO_NAME/PATH:TAG
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 Artifact Registry. Per eliminare le immagini container utilizzate dalle revisioni eliminate da Artifact Registry, consulta Eliminazione delle immagini.
- L'eliminazione di un servizio con uno o più trigger Eventarc non comporta l'eliminazione automatica di questi trigger. Per eliminare i trigger, consulta Gestire i trigger.
- Dopo l'eliminazione, il servizio rimane visibile nella console Google Cloud e nell'interfaccia a riga di comando finché l'eliminazione non è completamente terminata. Tuttavia, non puoi aggiornare il servizio.
L'eliminazione di un servizio è definitiva: non è possibile annullarla o ripristinarla. Tuttavia, se dopo aver eliminato un servizio, ne esegui il deployment di uno nuovo con lo stesso nome nella stessa regione, avrà lo stesso URL endpoint.
Console
Per eliminare un servizio:
Nella console Google Cloud , vai a Cloud Run:
Individua il servizio che vuoi eliminare nell'elenco dei servizi e fai clic sulla relativa casella di controllo per selezionarlo.
Fai clic su ELIMINA. Vengono 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 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
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
dispone delle 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
. Da un'istanza container Cloud Run, puoi recuperare un token di accesso utilizzando il server di metadati dell'istanza container. - SERVICE-NAME con il nome del servizio.
- REGION con la regione Google Cloud del servizio.
- PROJECT-ID con l' Google Cloud ID progetto.