1. Panoramica
Cloud Run è una piattaforma serverless completamente gestita che consente di eseguire container stateless richiamabili tramite richieste HTTP. Cloud Run è serverless. Astrae completamente la gestione dell'infrastruttura per consentirti di concentrarti su quello che conta davvero: creare applicazioni fantastiche.
È basato su Knative per consentirti di scegliere se eseguire i container in maniera completamente gestita con Cloud Run o nel tuo cluster Google Kubernetes Engine con Cloud Run su GKE.
Cosa imparerai a fare
In questo lab imparerai a:
- Esegui il deployment dell'applicazione Cloud Run
Prerequisiti
- Questo lab presuppone la familiarità con gli ambienti della console Cloud e di Cloud Shell.
2. Configurazione e requisiti
Configurazione del progetto Cloud
- Accedi alla console Google Cloud e crea un nuovo progetto o riutilizzane uno esistente. Se non hai ancora un account Gmail o Google Workspace, devi crearne uno.



- Il nome del progetto è il nome visualizzato per i partecipanti a questo progetto. È una stringa di caratteri non utilizzata dalle API di Google. Puoi aggiornarlo in qualsiasi momento.
- L'ID progetto è univoco in tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo l'impostazione). La console Cloud genera automaticamente una stringa univoca, di solito non ti interessa di cosa si tratta. Nella maggior parte dei codelab, devi fare riferimento all'ID progetto (in genere è identificato come
PROJECT_ID). Se non ti piace l'ID generato, puoi generarne un altro casuale. In alternativa, puoi provare a crearne uno e vedere se è disponibile. Non può essere modificato dopo questo passaggio e rimarrà per tutta la durata del progetto. - Per tua informazione, esiste un terzo valore, un numero di progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
- Successivamente, devi abilitare la fatturazione in Cloud Console per utilizzare le risorse/API Cloud. L'esecuzione di questo codelab non dovrebbe costare molto, se non nulla. Per arrestare le risorse in modo da non incorrere in costi di fatturazione al termine di questo tutorial, puoi eliminare le risorse che hai creato o l'intero progetto. I nuovi utenti di Google Cloud possono beneficiare del programma prova senza costi di 300$.
Configurazione dell'ambiente
Attiva Cloud Shell facendo clic sull'icona a destra della barra di ricerca.

Da Cloud Shell, abilita l'API Cloud Run:
gcloud services enable run.googleapis.com
Se ti viene richiesto di concedere l'autorizzazione, fai clic su "Autorizza" per continuare.

Dovrebbe essere visualizzato un messaggio di operazione riuscita simile a questo:
Operation "operations/acf.p2-327036483151-73d90d00-47ee-447a-b600-a6badf0eceae" finished successfully.
3. Prepara l'applicazione
Innanzitutto, preparerai una semplice applicazione Node.js basata su Express che risponde alle richieste HTTP.
In Cloud Shell crea una nuova directory denominata starter-nodejs, quindi passa a quella directory:
mkdir starter-nodejs
cd starter-nodejs
Crea un file package.json eseguendo i comandi riportati di seguito:
cat > ./package.json << EOF
{
"name": "cloudrun-starter-app",
"version": "1.0.0",
"description": "Node.js Starter Application",
"main": "index.js",
"scripts": {
"start": "node index.js"
},
"author": "",
"license": "Apache-2.0",
"dependencies": {
"express": "^4.18.2"
}
}
EOF
Il file sopra contiene un comando di avvio di script e una dipendenza dal framework dell'applicazione web Express.
Quindi, nella stessa directory, crea un file index.js eseguendo i comandi riportati di seguito:
cat > ./index.js << EOF
const express = require('express');
const app = express();
app.get('/', (req, res) => {
console.log('Received a request.');
res.send("Hello Cloud Run!");
});
const port = process.env.PORT || 8080;
app.listen(port, () => {
console.log('Listening on port', port);
});
EOF
Questo codice crea un server web di base in ascolto sulla porta definita dalla variabile di ambiente PORT. La tua app è ora completa e pronta per essere containerizzata e sottoposta a deployment.
4. Esegui il deployment dell'applicazione Cloud Run
Esegui il comando seguente per eseguire il deployment dell'applicazione:
gcloud run deploy starter-app \
--source . \
--region us-central1 \
--allow-unauthenticated \
--max-instances=3
Conferma la creazione del repository Artifact Registry:
Deploying from source requires an Artifact Registry Docker repository to store built containers. A repository named [cloud-run-source-deploy] in region [us-central1] will be created. Do you want to continue (Y/n)? y
Come risultato del comando precedente, verranno eseguiti i seguenti passaggi:

Esplora l'output di questi passaggi in Cloud Console: Cloud Build, Cloud Storage, Artifact Registry e Cloud Run.

5. Complimenti!
Complimenti! Hai eseguito il deployment di un'applicazione su Cloud Run.
Argomenti trattati:
- Come eseguire il deployment di un'applicazione iniziale su Cloud Run
Qual è il passaggio successivo?
Esplora altri codelab di Cymbal Eats:
- Attivazione di Cloud Workflows con Eventarc
- Attivazione dell'elaborazione degli eventi da Cloud Storage
- Connessione a Private CloudSQL da Cloud Run
- Connessione a database completamente gestiti da Cloud Run
- Proteggi l'applicazione serverless con Identity-Aware Proxy (IAP)
- Attivazione di Cloud Run Jobs con Cloud Scheduler
- Eseguire il deployment in Cloud Run in modo sicuro
- Protezione del traffico in entrata di Cloud Run
Esegui la pulizia
Per evitare che al tuo account Google Cloud vengano addebitati costi relativi alle risorse utilizzate in questo tutorial, elimina il progetto che contiene le risorse oppure mantieni il progetto ed elimina le singole risorse.
Elimina il progetto
Il modo più semplice per eliminare la fatturazione è eliminare il progetto creato per il tutorial.