Introduzione a Cloud Run
- Panoramica
- Configurazione e requisiti
- Attività 1: abilita l'API Cloud Run e configura il tuo ambiente Shell
- Attività 2: scrivi l'applicazione di esempio
- Attività 3: recupera la tua app e caricala su Artifact Registry
- Attività 4: esegui il deployment in Cloud Run
- Attività 5: esegui la pulizia
- Termina il lab
- Complimenti!
Panoramica
Cloud Run è una piattaforma gestita di computing 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.
Cloud Run è 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.
L'obiettivo di questo lab è creare una semplice immagine dell'applicazione containerizzata ed eseguirne il deployment su Cloud Run.
Obiettivi
In questo lab imparerai a:
- Abilitare l'API Cloud Run.
- Creare una semplice applicazione Node.js di cui sia possibile eseguire il deployment come container serverless e stateless.
- Containerizzare l'applicazione e caricarla in Artifact Registry.
- Eseguire il deployment di un'applicazione containerizzata in Cloud Run.
- Eliminare le immagini non necessarie per evitare costi di archiviazione aggiuntivi.
Configurazione e requisiti
Per ciascun lab, riceverai un nuovo progetto Google Cloud e un insieme di risorse per un periodo di tempo limitato senza alcun costo aggiuntivo.
-
Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si apre una finestra popup per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:
- Il pulsante Apri console Google Cloud
- Tempo rimanente
- Credenziali temporanee da utilizzare per il lab
- Altre informazioni per seguire questo lab, se necessario
-
Fai clic su Apri console Google Cloud (o fai clic con il tasto destro del mouse e seleziona Apri link in finestra di navigazione in incognito se utilizzi il browser Chrome).
Il lab avvia le risorse e apre un'altra scheda con la pagina di accesso.
Suggerimento: disponi le schede in finestre separate posizionate fianco a fianco.
Nota: se visualizzi la finestra di dialogo Scegli un account, fai clic su Usa un altro account. -
Se necessario, copia il Nome utente di seguito e incollalo nella finestra di dialogo di accesso.
{{{user_0.username | "Username"}}} Puoi trovare il Nome utente anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
-
Copia la Password di seguito e incollala nella finestra di dialogo di benvenuto.
{{{user_0.password | "Password"}}} Puoi trovare la Password anche nel riquadro Dettagli lab.
-
Fai clic su Avanti.
Importante: devi utilizzare le credenziali fornite dal lab. Non utilizzare le credenziali del tuo account Google Cloud. Nota: utilizzare il tuo account Google Cloud per questo lab potrebbe comportare addebiti aggiuntivi. -
Fai clic nelle pagine successive:
- Accetta i termini e le condizioni.
- Non inserire opzioni di recupero o l'autenticazione a due fattori, perché si tratta di un account temporaneo.
- Non registrarti per le prove gratuite.
Dopo qualche istante, la console Google Cloud si apre in questa scheda.
Attiva Google Cloud Shell
Google Cloud Shell è una macchina virtuale in cui sono caricati strumenti per sviluppatori. Offre una home directory permanente da 5 GB e viene eseguita su Google Cloud.
Google Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.
-
Nella barra degli strumenti in alto a destra della console Cloud, fai clic sul pulsante Apri Cloud Shell.
-
Fai clic su Continua.
Bastano pochi istanti per eseguire il provisioning e connettersi all'ambiente. Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo PROJECT_ID. Ad esempio:
gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento.
- Puoi visualizzare il nome dell'account attivo con questo comando:
Output:
Output di esempio:
- Puoi elencare l'ID progetto con questo comando:
Output:
Output di esempio:
Riferimento
Comandi Linux di base
Di seguito troverai un elenco di riferimento di alcuni comandi Linux molto basilari che possono essere inclusi nelle istruzioni o nei blocchi di codice per questo lab.
Comando --> | Azione | . | Comando --> | Azione |
---|---|---|---|---|
mkdir (make directory) | crea una nuova cartella | . | cd (change directory) | passa a un'altra cartella |
ls (list ) | elenca file e cartelle contenuti nella directory | . | cat (concatenate) | consente di leggere i contenuti di un file senza utilizzare un editor |
apt-get update | aggiorna la libreria del gestore di pacchetti | . | ping | invia un segnale per testare la raggiungibilità di un host |
mv (move ) | sposta un file | . | cp (copy) | crea la copia di un file |
pwd (present working directory ) | torna alla posizione corrente | . | sudo (super user do) | concede privilegi amministrativi più elevati |
Attività 1: abilita l'API Cloud Run e configura il tuo ambiente Shell
- Da Cloud Shell, abilita l'API Cloud Run:
- Se ti viene chiesto di autorizzare l'utilizzo delle tue credenziali, fallo. Dovresti quindi vedere un messaggio di operazione riuscita simile a questo:
- Imposta la regione di computing:
- Crea una variabile di ambiente LOCATION:
Attività 2: scrivi l'applicazione di esempio
In questa attività creerai una semplice applicazione NodeJS basata su Express che risponderà alle richieste HTTP.
- In Cloud Shell crea una nuova directory denominata
helloworld
, quindi sposta la visualizzazione in quella directory:
-
Quindi creerai e modificherai i file. Per modificare i file, usa
nano
o l'editor di codice Cloud Shell facendo clic sul pulsante Apri editor in Cloud Shell. -
Crea un file
package.json
, e copia al suo interno il seguente codice:
Molto importante: il file sopra contiene un comando di avvio di script e una dipendenza dal framework dell'applicazione web Express.
-
Premi Ctrl+X, Y e poi Invio per salvare il file
package.json
. -
Quindi, nella stessa directory, crea un file
index.js
e copia al suo interno le seguenti righe:
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 caricata in Artifact Registry.
- Premi Ctrl+X, Y e poi Invio per salvare il file
index.js
Attività 3: recupera la tua app e caricala su Artifact Registry
- Per containerizzare l'app di esempio, crea un nuovo file denominato
Dockerfile
nella stessa directory dei file di origine e aggiungi il contenuto seguente:
-
Premi CTRL+X, Y e poi Invio per salvare il file
Dockerfile
. -
Ora crea la tua immagine container utilizzando Cloud Build eseguendo il comando seguente dalla directory contenente il file
Dockerfile
(nota come la variabile di ambiente $GOOGLE_CLOUD_PROJECT nel comando, contiene l'ID progetto del lab):
Cloud Build è un servizio che esegue le tue build su Google Cloud. Esegue una serie di passaggi di compilazione, ognuno eseguito in un container Docker per produrre il container dell'applicazione (o altri artefatti) ed eseguirne il push in Artifact Registry, tutto in un unico comando.
Una volta eseguito il push in Artifact Registry, vedrai una notifica di operazione riuscita contenente il nome dell'immagine (gcr.io/[PROJECT-ID]/helloworld
). L'immagine è archiviata in Artifact Registry e, se lo desideri, può essere riutilizzata.
- Elenca tutte le immagini container associate al tuo progetto corrente usando questo comando:
- Registra
gcloud
come assistente per le credenziali per tutti i registry Docker supportati da Google:
- Per eseguire e testare l'applicazione in locale da Cloud Shell, avviala utilizzando questo comando
docker
standard:
- Nella finestra Cloud Shell, fai clic su Anteprima web e seleziona Anteprima sulla porta 8080.
Dovrebbe aprirsi una finestra del browser con il messaggio "Hello World!". Puoi anche utilizzare semplicemente il comando curl localhost:8080
.
Attività 4: esegui il deployment in Cloud Run
- Il deployment dell'applicazione containerizzata su Cloud Run viene eseguito utilizzando il comando seguente aggiungendo il tuo ID progetto:
Il flag allow-unauthenticated nel comando sopra rende il tuo servizio pubblicamente accessibile.
- Quando viene richiesto, conferma il
service name
premendo Invio.
Attendi qualche istante fino al completamento del deployment.
Se l'operazione riesce, la riga di comando visualizza l'URL del servizio:
Ora puoi visitare il container di cui hai eseguito il deployment aprendo l'URL del servizio in qualsiasi finestra del browser.
Complimenti! Hai eseguito il deployment di un'applicazione pacchettizzata in un'immagine container su Cloud Run. Cloud Run scala automaticamente e orizzontalmente l'immagine container per gestire le richieste ricevute, quindi fa lo scale down quando la domanda diminuisce. Nel tuo ambiente, paghi solo per la CPU, la memoria e le risorse di rete utilizzate durante la gestione delle richieste.
Per questo lab hai utilizzato la riga di comando gcloud
. Cloud Run è disponibile anche tramite la console Cloud.
- Dal menu di navigazione, nella sezione Serverless, fai clic su Cloud Run e vedrai il tuo servizio
helloworld
in elenco:
Attività 5: esegui la pulizia
Sebbene non siano previsti addebiti per Cloud Run quando il servizio non è in uso, ti potrebbero comunque essere addebitati i costi di archiviazione dell'immagine container creata.
- Puoi decidere di eliminare il tuo progetto Google Cloud per evitare addebiti, interrompendo così la fatturazione per tutte le risorse utilizzate all'interno di quel progetto, o semplicemente eliminare la tua immagine
helloworld
utilizzando questo comando:
-
Quando ti viene chiesto di continuare, digita
Y
e premi Invio. -
Per eliminare il servizio Cloud Run, utilizza questo comando:
- Quando ti viene chiesto di continuare, digita
Y
e premi Invio.
Termina il lab
Una volta completato il lab, fai clic su Termina lab. Google Cloud Skills Boost rimuove le risorse che hai utilizzato ed esegue la pulizia dell'account.
Avrai la possibilità di inserire una valutazione in merito alla tua esperienza. Seleziona il numero di stelle applicabile, inserisci un commento, quindi fai clic su Invia.
Il numero di stelle corrisponde alle seguenti valutazioni:
- 1 stella = molto insoddisfatto
- 2 stelle = insoddisfatto
- 3 stelle = esperienza neutra
- 4 stelle = soddisfatto
- 5 stelle = molto soddisfatto
Se non vuoi lasciare un feedback, chiudi la finestra di dialogo.
Per feedback, suggerimenti o correzioni, utilizza la scheda Assistenza.
Complimenti!
Hai completato il lab.
Passaggi successivi/Scopri di più
Per saperne di più sulla creazione di un container HTTP stateless adatto per Cloud Run dall'origine del codice e su come eseguirne il push in Artifact Registry, vai alla pagina:
Copyright 2020 Google LLC Tutti i diritti riservati. Google e il logo Google sono marchi di Google LLC. Tutti gli altri nomi di società e prodotti sono marchi delle rispettive società a cui sono associati.