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 di eseguire i container in modo completamente gestito 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
- In questo lab si presuppone che tu abbia familiarità con gli ambienti della console Cloud e 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 progetto è il nome visualizzato dei partecipanti del progetto. Si tratta di una stringa di caratteri non utilizzata dalle API di Google. Puoi aggiornarla in qualsiasi momento.
- L'ID progetto è univoco in tutti i progetti Google Cloud ed è immutabile (non può essere modificato dopo essere stato impostato). La console Cloud genera automaticamente una stringa univoca. di solito non ti importa cosa sia. Nella maggior parte dei codelab, dovrai fare riferimento all'ID progetto (in genere è identificato come
PROJECT_ID
). Se l'ID generato non ti soddisfa, puoi generarne un altro casuale. In alternativa, puoi provarne una personalizzata per verificare se è disponibile. Non può essere modificato dopo questo passaggio e rimarrà per tutta la durata del progetto. - Per informazione, c'è un terzo valore, un numero di progetto, utilizzato da alcune API. Scopri di più su tutti e tre questi valori nella documentazione.
- Successivamente, dovrai abilitare la fatturazione nella console Cloud per utilizzare risorse/API Cloud. Eseguire questo codelab non dovrebbe costare molto. Per arrestare le risorse in modo da non incorrere in fatturazione oltre questo tutorial, puoi eliminare le risorse che hai creato o eliminare l'intero progetto. I nuovi utenti di Google Cloud sono idonei al 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 richiesta 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 la richiesta
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 seguenti:
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 precedente contiene un comando di avvio e una dipendenza dal framework dell'applicazione web Express.
Quindi, nella stessa directory, crea un file index.js
eseguendo i comandi seguenti:
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 questo comando per eseguire il deployment della tua 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
A seguito del comando precedente, verranno eseguiti i seguenti passaggi:
Esplora l'output di questi passaggi nella console Cloud: Cloud Build, Cloud Storage, Artifact Registry e Cloud Run.
5. Complimenti!
Complimenti! Hai appena eseguito il deployment di un'applicazione in Cloud Run.
Argomenti trattati:
- Eseguire il deployment di un'applicazione iniziale su Cloud Run
Passaggi successivi
Esplora altri codelab di Cymbal Eats:
- Attivazione di Cloud Workflows con Eventarc
- Attivazione dell'elaborazione degli eventi da Cloud Storage
- Connessione a Cloud SQL privato da Cloud Run
- Connessione a database completamente gestiti da Cloud Run
- Applicazione serverless sicura con Identity-Aware Proxy (IAP)
- Attivazione di job Cloud Run con Cloud Scheduler
- Deployment sicuro su Cloud Run
- 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 è quello di eliminare il progetto che hai creato per il tutorial.