Guida rapida: distribuisci un servizio Node.js su Cloud Run
Scopri come creare una semplice applicazione Hello World e pacchettizzarla in un'immagine container, caricare l'immagine container in Artifact Registry e poi eseguire il deployment dell'immagine container in Cloud Run.
Per seguire una guida passo passo per questa attività direttamente nel Editor di Cloud Shell, fai clic su Procedura guidata:
Prima di iniziare
- Accedi al tuo account Google Cloud. Se non conosci Google Cloud, crea un account per valutare le prestazioni dei nostri prodotti in scenari reali. I nuovi clienti ricevono anche 300 $di crediti gratuiti per l'esecuzione, il test e il deployment dei carichi di lavoro.
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
-
In the Google Cloud console, on the project selector page, select or create a Google Cloud project.
-
Assicurati che la fatturazione sia attivata per il tuo progetto Google Cloud.
- Install the Google Cloud CLI.
-
To initialize the gcloud CLI, run the following command:
gcloud init
- Per impostare il progetto predefinito per il servizio Cloud Run:
gcloud config set project PROJECT_ID
Sostituisci PROJECT_ID con il nome del progetto che hai creato per questa guida rapida. Se utilizzi un criterio dell'organizzazione che limita le chiamate non autenticate per il tuo progetto, dovrai accedere al servizio di cui hai eseguito il deployment come descritto in Test dei servizi privati.
Individua l'account di servizio predefinito di Compute Engine. Per impostazione predefinita, l'account di servizio predefinito di Compute Engine viene creato automaticamente con il seguente formato email:
PROJECT_NUMBER-compute@developer.gserviceaccount.com
Sostituisci
PROJECT_NUMBER
con il tuo Google Cloud del progetto. Puoi trovare il numero del tuo progetto nella Ti diamo il benvenuto della console Google Cloud o eseguendo questo comando:gcloud projects describe PROJECT_ID --format='value(projectNumber)'
Per gli ambienti di produzione, consigliamo vivamente creazione di un nuovo account di servizio e la concessione di uno o più ruoli IAM contenenti autorizzazioni minime richieste e seguire il principio del privilegio minimo.
- Affinché Cloud Build sia in grado di creare le tue origini, concedi il
Account di servizio Cloud Build
all'account di servizio predefinito di Compute Engine eseguendo questo comando:
gcloud projects add-iam-policy-binding PROJECT_ID \ --member=serviceAccount:PROJECT_NUMBER-compute@developer.gserviceaccount.com \ --role=roles/cloudbuild.builds.builder
Scrivi il servizio di esempio
Per creare ed eseguire il deployment di un servizio Node.js, segui questi passaggi:
Crea una nuova directory denominata
helloworld
e cambia directory al suo interno:mkdir helloworld cd helloworld
Crea un file
package.json
con il seguente contenuto:Nella stessa directory, crea un file
index.js
e copia quanto segue al suo interno:Questo codice crea un server web di base in ascolto tramite la porta definita Variabile di ambiente
PORT
.
L'app è stata completata ed è pronta per il deployment.
Esegui il deployment in Cloud Run dall'origine
Importante: questa guida rapida presuppone che tu disponga dei ruoli di proprietario o editor nel progetto che stai utilizzando per la guida rapida. In caso contrario, fai riferimento al ruolo Sviluppatore origine Cloud Run per le autorizzazioni richieste per il deployment di una risorsa Cloud Run dall'origine.
Il deployment dall'origine crea automaticamente un'immagine container dal codice sorgente e ne esegue il deployment.
Per eseguire il deployment dall'origine:
Nella directory del codice sorgente, esegui il deployment dall'origine utilizzando il seguente comando:
gcloud run deploy
Se ti viene richiesto di abilitare l'API, rispondi y per abilitarla.
Quando ti viene richiesta la posizione del codice sorgente, premi Invio per eseguire il deployment della cartella attuale.
Quando ti viene richiesto il nome del servizio, premi Invio per accettare nome predefinito, ad esempio
helloworld
.Se ti viene richiesto di abilitare le API nel progetto, ad esempio l'API Artifact Registry, rispondi premendo
y
.Quando ti viene richiesta la regione, seleziona la regione di tua scelta, ad esempio
us-central1
.Se ti viene chiesto di creare un repository nella regione specificata, rispondi premendo
y
.Se ti viene chiesto di consentire le chiamate non autenticate: rispondi
y
. Potresti non visualizzare questo prompt se è presente un dominio un criterio dell'organizzazione che impedisce l'accesso; per ulteriori dettagli, consulta Sezione Prima di iniziare.
Quindi, attendi qualche istante fino al completamento del deployment. Una volta raggiunto il successo, nella riga di comando visualizza l'URL del servizio.
Visita il servizio di cui hai eseguito il deployment aprendo l'URL del servizio in un browser web.
Località Cloud Run
Cloud Run è regionale, il che significa che l'infrastruttura
dei tuoi servizi Cloud Run si trova in una regione specifica
gestiti da Google in modo che siano disponibili in modo ridondante
tutte le zone all'interno di quella regione.
Soddisfare i requisiti di latenza, disponibilità o durabilità è fondamentale
i fattori necessari per selezionare la regione in cui vengono eseguiti i servizi Cloud Run.
Generalmente puoi selezionare la regione più vicina ai tuoi utenti, ma devi considerare
la località dell'altro account Google Cloud
prodotti utilizzati dal tuo servizio Cloud Run.
L'utilizzo combinato dei prodotti Google Cloud in più località può influire
nonché la latenza del tuo servizio.
Cloud Run è disponibile nelle regioni seguenti:
Soggetto ai prezzi di Livello 1
asia-east1
(Taiwan)asia-northeast1
(Tokyo)asia-northeast2
(Osaka)europe-north1
(Finlandia) A basse emissioni di CO2europe-southwest1
(Madrid) A basse emissioni di CO2europe-west1
(Belgio) A basse emissioni di CO2europe-west4
(Paesi Bassi) A basse emissioni di CO2europe-west8
(Milano)europe-west9
(Parigi) A basse emissioni di CO2me-west1
(Tel Aviv)us-central1
(Iowa) A basse emissioni di CO2us-east1
(Carolina del Sud)us-east4
(Virginia del Nord)us-east5
(Colombo)us-south1
(Dallas) A basse emissioni di CO2us-west1
(Oregon) A basse emissioni di CO2
Soggetto ai prezzi di Livello 2
africa-south1
(Johannesburg)asia-east2
(Hong Kong)asia-northeast3
(Seul, Corea del Sud)asia-southeast1
(Singapore)asia-southeast2
(Giacarta)asia-south1
(Mumbai, India)asia-south2
(Delhi, India)australia-southeast1
(Sydney)australia-southeast2
(Melbourne)europe-central2
(Varsavia, Polonia)europe-west10
(Berlino) A basse emissioni di CO2europe-west12
(Torino)europe-west2
(Londra, Regno Unito) A basse emissioni di CO2europe-west3
(Francoforte, Germania) A basse emissioni di CO2europe-west6
(Zurigo, Svizzera) A basse emissioni di CO2me-central1
(Doha)me-central2
(Dammam)northamerica-northeast1
(Montreal) A basse emissioni di CO2northamerica-northeast2
(Toronto) A basse emissioni di CO2southamerica-east1
(San Paolo, Brasile) A basse emissioni di CO2southamerica-west1
(Santiago, Cile) A basse emissioni di CO2us-west2
(Los Angeles)us-west3
(Salt Lake City)us-west4
(Las Vegas)
Se hai già creato un servizio Cloud Run, puoi visualizzare nella dashboard di Cloud Run all'interno Console Google Cloud.
Complimenti! Hai appena eseguito il deployment di un'immagine container dal codice sorgente a Cloud Run. Cloud Run automaticamente e orizzontalmente fa lo scale out dell'immagine container per gestire le richieste ricevute, quindi esegue lo scale in quando la domanda diminuisce. Paghi solo per la CPU, la memoria e il networking utilizzati durante la gestione delle richieste.
Esegui la pulizia
Rimuovi il progetto di test
Sebbene Cloud Run non effettui addebiti quando il servizio non è in uso, potrebbe essere ancora addebitato per l'archiviazione dell'immagine container in Artifact Registry. Puoi eliminare l'immagine container o eliminare il tuo progetto Google Cloud per evitare addebiti. L'eliminazione del progetto Google Cloud interrompe la fatturazione per tutte le risorse utilizzate all'interno del progetto.
- Nella console Google Cloud, vai alla pagina Gestisci risorse.
- Nell'elenco dei progetti, seleziona il progetto che vuoi eliminare, quindi fai clic su Elimina.
- Nella finestra di dialogo, digita l'ID del progetto e fai clic su Chiudi per eliminare il progetto.
Passaggi successivi
Per saperne di più sulla creazione di un container dall'origine di codice e sul push a un repository, consulta: