Caricamento in corso…
Nessun risultato trovato.

Applica le tue competenze nella console Google Cloud

Accedi a oltre 700 lab e corsi

Organizzare il cloud con Kubernetes

Lab 1 ora 15 minuti universal_currency_alt 5 crediti show_chart Intermedio
info Questo lab potrebbe incorporare strumenti di AI a supporto del tuo apprendimento.
Accedi a oltre 700 lab e corsi

GSP021

Logo dei self-paced lab di Google Cloud

Panoramica

Kubernetes è un progetto open source (disponibile su kubernetes.io) eseguibile su numerosi ambienti, dai laptop ai cluster multinodo ad alta affidabilità, dai cloud pubblici ai deployment on-premise, dalle macchine virtuali alle soluzioni bare metal.

Per questo lab, l'uso di un ambiente gestito come Kubernetes Engine ti permette di concentrarti sulla tua esperienza con Kubernetes anziché sulla configurazione dell'infrastruttura sottostante. Kubernetes Engine è un ambiente gestito per il deployment delle applicazioni containerizzate. Offre le più recenti innovazioni disponibili sul mercato apportando significativi vantaggi in termini di produttività degli sviluppatori, efficienza delle risorse, automazione delle operazioni e flessibilità dell'open source per accelerare il time to market.

Obiettivi

In questo lab imparerai a:

  • Eseguire il provisioning di un cluster Kubernetes completo mediante Kubernetes Engine.
  • Eseguire il deployment e gestire i container Docker mediante kubectl.
  • Suddividere un'applicazione in microservizi mediante deployment e Service di Kubernetes.

Configurazione e requisiti

Prima di fare clic sul pulsante Avvia lab

Leggi le seguenti istruzioni. I lab sono a tempo e non possono essere messi in pausa. Il timer si avvia quando fai clic su Inizia il lab e ti mostra per quanto tempo avrai a disposizione le risorse Google Cloud.

Con questo lab pratico avrai la possibilità di completare le attività in un ambiente cloud reale e non di simulazione o demo. Riceverai delle nuove credenziali temporanee che potrai utilizzare per accedere a Google Cloud per la durata del lab.

Per completare il lab, avrai bisogno di:

  • Accesso a un browser internet standard (Chrome è il browser consigliato).
Nota: per eseguire questo lab, utilizza una finestra del browser in modalità di navigazione in incognito (consigliata) o privata. Ciò evita conflitti tra il tuo account personale e l'account studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.
  • È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Nota: utilizza solo l'account studente per questo lab. Se utilizzi un altro account Google Cloud, potrebbero essere addebitati costi su quell'account.

Come avviare il lab e accedere alla console Google Cloud

  1. Fai clic sul pulsante Avvia lab. Se devi effettuare il pagamento per il lab, si aprirà una finestra di dialogo per permetterti di selezionare il metodo di pagamento. A sinistra, trovi il riquadro Dettagli lab con le seguenti informazioni:

    • Il pulsante Apri la console Google Cloud
    • Tempo rimanente
    • Credenziali temporanee da utilizzare per il lab
    • Altre informazioni per seguire questo lab, se necessario
  2. 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.
  3. 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.

  4. Fai clic su Avanti.

  5. 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.

  6. 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.
  7. 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.

Nota: per accedere ai prodotti e ai servizi Google Cloud, fai clic sul menu di navigazione o digita il nome del servizio o del prodotto nel campo Cerca. Icona del menu di navigazione e campo Cerca

Attiva Cloud Shell

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. Cloud Shell fornisce l'accesso da riga di comando alle risorse Google Cloud.

  1. Fai clic su Attiva Cloud Shell Icona Attiva Cloud Shell nella parte superiore della console Google Cloud.

  2. Fai clic nelle seguenti finestre:

    • Continua nella finestra delle informazioni di Cloud Shell.
    • Autorizza Cloud Shell a utilizzare le tue credenziali per effettuare chiamate API Google Cloud.

Quando la connessione è attiva, l'autenticazione è già avvenuta e il progetto è impostato sul tuo Project_ID, . L'output contiene una riga che dichiara il Project_ID per questa sessione:

Your Cloud Platform project in this session is set to {{{project_0.project_id | "PROJECT_ID"}}}

gcloud è lo strumento a riga di comando di Google Cloud. È preinstallato su Cloud Shell e supporta il completamento tramite tasto Tab.

  1. (Facoltativo) Puoi visualizzare il nome dell'account attivo con questo comando:
gcloud auth list
  1. Fai clic su Autorizza.

Output:

ACTIVE: * ACCOUNT: {{{user_0.username | "ACCOUNT"}}} To set the active account, run: $ gcloud config set account `ACCOUNT`
  1. (Facoltativo) Puoi elencare l'ID progetto con questo comando:
gcloud config list project

Output:

[core] project = {{{project_0.project_id | "PROJECT_ID"}}} Nota: per la documentazione completa di gcloud, in Google Cloud, fai riferimento alla guida Panoramica dell'interfaccia a riga di comando gcloud.

Google Kubernetes Engine

  1. Nell'ambiente Cloud Shell, digita il comando seguente per impostare la zona:
gcloud config set compute/zone {{{project_0.default_zone|Zone}}}
  1. Avvia un cluster da usare in questo lab:
gcloud container clusters create io --zone {{{project_0.default_zone|Zone}}} Verrà effettuata automaticamente la tua autenticazione nel cluster personale al momento della creazione. Se per qualsiasi motivo perdi la connessione al tuo Cloud Shell, esegui il comando gcloud container clusters get-credentials io per ripetere l'autenticazione. Nota: la creazione di un cluster richiede del tempo, perché Kubernetes Engine esegue il provisioning di alcune macchine virtuali con cui potrai sperimentare.

Attività 1: recupera il codice campione

Per ottenere il codice, copia il codice campione da un bucket Google Cloud Storage.

  1. In Cloud Shell, copia il codice sorgente dalla riga di comando di Cloud Shell:
gcloud storage cp -r gs://spls/gsp021/* .
  1. Passa alla directory richiesta per questo lab:
cd orchestrate-with-kubernetes/kubernetes
  1. Elenca i file per vedere con quali elementi stai lavorando:
ls

L'esempio ha il layout seguente:

deployments/ /* Deployment manifests */ ... nginx/ /* nginx config files */ ... pods/ /* Pod manifests */ ... services/ /* Services manifests */ ... tls/ /* TLS certificates */ ... cleanup.sh /* Cleanup script */

Ora che hai il codice, è il momento di provare Kubernetes!

Attività 2: una breve demo di Kubernetes

Il modo più semplice per iniziare a utilizzare Kubernetes è l'uso del comando kubectl create.

  1. Utilizzalo per avviare un'unica istanza del container nginx:
kubectl create deployment nginx --image=nginx:1.27.0

Kubernetes ha creato un deployment. Scoprirai maggiori informazioni sui deployment in seguito, per ora ti basterà sapere che i deployment mantengono i pod in esecuzione anche in caso di arresto dei nodi su cui vengono eseguiti.

In Kubernetes, tutti i container vengono eseguiti in pod.

  1. Usa il comando kubectl get pods per vedere il container nginx in esecuzione:
kubectl get pods
  1. Quando lo stato del container nginx è In esecuzione, puoi esporlo all'esterno di Kubernetes mediante il comando kubectl expose:
kubectl expose deployment nginx --port 80 --type LoadBalancer

Riassumiamo quanto fatto finora. Dietro le quinte, Kubernetes ha creato un bilanciatore del carico esterno a cui è associato un indirizzo IP pubblico. Qualsiasi client che contatta questo indirizzo IP pubblico viene instradato ai pod da cui dipende il servizio. In questo caso, si tratta del pod nginx.

  1. Elenca i servizi usando il comando kubectl get services:
kubectl get services Nota: potrebbero volerci alcuni secondi prima che il campo ExternalIP venga compilato per il tuo servizio. Questo è normale: esegui nuovamente il comando kubectl get services a intervalli regolari di alcuni secondi fino a quando il campo non viene compilato.
  1. Aggiungi l'IP esterno a questo comando per contattare il container Nginx da remoto:
curl http://<External IP>:80

Ecco fatto! Kubernetes supporta un workflow facile e pronto per l'uso con i comandi kubectl run ed expose.

Verifica l'attività completata

Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai creato correttamente un cluster Kubernetes ed esegui il deployment di un container Nginx, visualizzerai un punteggio di valutazione.

Crea un cluster Kubernetes e avvia un container Nginx

Dopo questa rapida panoramica di Kubernetes, è il momento di concentrarsi su ognuno dei componenti e delle astrazioni.

Attività 3: informazioni sui pod

Il pod è l'elemento fondamentale di Kubernetes.

I pod rappresentano e contengono una raccolta di uno o più container. In generale, se hai più container con una forte dipendenza l'uno dall'altro, li pacchettizzerai in un unico pod.

L'esempio seguente mostra un pod che contiene i container monolite e nginx.

Pod che contiene i container monolite e nginx

I pod, inoltre, sono dotati di volumi. I volumi sono dischi dati la cui durata corrisponde alla durata del pod e che possono essere utilizzati dai container all'interno del pod. I pod forniscono uno spazio dei nomi condiviso per i contenuti, di conseguenza i due container nel nostro pod di esempio comunicano tra loro e condividono anche i volumi collegati.

I pod condividono inoltre uno spazio dei nomi di rete. Di conseguenza, ogni pod ha un indirizzo IP.

Passiamo ora a uno sguardo più approfondito sui pod.

Attività 4: crea pod

Puoi creare i pod utilizzando file di configurazione di pod. Dedica un momento a esplorare il file di configurazione del pod fortune-app.

  1. Vai alla directory:
cd ~/orchestrate-with-kubernetes/kubernetes
  1. Esegui questo comando per visualizzare un file di configurazione:
cat pods/fortune-app.yaml

L'output mostra il file di configurazione aperto:

apiVersion: v1 kind: Pod metadata: name: fortune-app labels: app: fortune-app spec: containers: - name: fortune-app image: "us-central1-docker.pkg.dev/qwiklabs-resources/gsp-021-lab-images/fortune-app:1.0.0" ports: - name: http containerPort: 8080 resources: limits: cpu: 0.2 memory: "20Mi"

Ci sono alcuni elementi da notare:

  • Il tuo pod è composto da un container (fortune-app).
  • Stai aprendo la porta 8080 al traffico http.
  1. Crea il pod fortune-app utilizzando kubectl:
kubectl create -f pods/fortune-app.yaml
  1. Esamina i tuoi pod. Usa il comando kubectl get pods per elencare tutti i pod in esecuzione nello spazio dei nomi predefinito:
kubectl get pods Nota: la preparazione all'esecuzione del pod fortune-app potrebbe richiedere alcuni secondi. Prima di poterla eseguire l'immagine container, devi eseguirne il pull da Artifact Registry.
  1. Quando il pod è in esecuzione, usa il comando kubectl describe per ricevere maggiori informazioni sul pod fortune-app:
kubectl describe pods fortune-app

Vedrai molte informazioni sul pod fortune-app, tra cui l'indirizzo IP del pod e il log eventi. Queste informazioni sono utili durante la risoluzione dei problemi.

Kubernetes facilita la creazione dei pod descrivendoli in file di configurazione e consente di visualizzarne le informazioni durante l'esecuzione. A questo punto, puoi creare tutti i pod richiesti dal tuo deployment.

Attività 5: interagisci con i pod

Per impostazione predefinita, ai pod viene allocato un indirizzo IP privato, non raggiungibile dall'esterno del cluster. Usa il comando kubectl port-forward per mappare una porta locale su una porta all'interno del pod fortune-app.

Nota: da questo momento in poi, questo lab richiede di lavorare in più schede di Cloud Shell per configurare la comunicazione tra i pod. La necessità di eseguire i comandi in una seconda o terza shell dei comandi sarà indicata nelle relative istruzioni.
  1. Apri un secondo terminale Cloud Shell. Ora hai due terminali; su uno eseguirai il comando kubectl port-forward sull'altro i comandi curl.

  2. Nel secondo terminale, esegui questo comando per configurare il port forwarding:

kubectl port-forward fortune-app 10080:8080
  1. Ora nel primo terminale inizia a comunicare con il tuo pod utilizzando curl:
curl http://127.0.0.1:10080

Il tuo container ti ha restituito un cookie della fortuna.

  1. Ora usa il comando curl per vedere cosa succede quando contatti un endpoint sicuro: Questo endpoint richiede l'autenticazione.
curl http://127.0.0.1:10080/secure

Riceverai un errore "Non autorizzato", come previsto.

  1. Prova ad accedere, per ricevere un token di autenticazione dall'app:
curl -u user http://127.0.0.1:10080/login
  1. Al prompt di accesso, usa la segretissima password password per accedere.

L'accesso restituirà un token JWT.

  1. Poiché Cloud Shell non gestisce bene la copia di stringhe lunghe, crea una variabile di ambiente per il token.
TOKEN=$(curl -u user http://127.0.0.1:10080/login | jq -r '.token')
  1. Alla richiesta della password dell'host, inserisci di nuovo la segretissima password password.

  2. Usa questo comando per copiare, quindi usa il token per contattare l'endpoint sicuro con curl:

curl -H "Authorization: Bearer $TOKEN" http://127.0.0.1:10080/secure

A questo punto, dovresti ottenere un messaggio della fortuna dall'applicazione che ti informa che tutto è di nuovo a posto.

You have accessed the secure fortune!
  1. Usa il comando kubectl logs per visualizzare i log del pod fortune-app.
kubectl logs fortune-app
  1. Apri un terzo terminale e usa il flag -f per ottenere un flusso dei log in tempo reale:
kubectl logs -f fortune-app
  1. Ora se usi curl nel primo terminale per interagire con il monolite, vedrai che i log vengono aggiornati (nel terzo terminale):
curl http://127.0.0.1:10080
  1. Usa il comando kubectl exec per eseguire una shell interattiva all'interno del pod fortune-app. Questo può essere utile per risolvere i problemi dall'interno di un container:
kubectl exec fortune-app --stdin --tty -c fortune-app -- /bin/sh
  1. Ad esempio, una volta che hai una shell nel container fortune-app, puoi testare la connettività esterna con il comando ping:
ping -c 3 google.com
  1. Assicurati di uscire quando hai finito di lavorare con questa shell interattiva.
exit

Come puoi vedere, l'interazione con i pod si riassume nel comando kubectl. Se devi contattare un container da remoto o aprire una shell di accesso, Kubernetes ti offre tutto ciò di cui hai bisogno per iniziare.

Attività 6: informazioni sui servizi

I pod non sono pensati per essere permanenti. Possono essere arrestati o avviati per vari motivi, tra cui il mancato superamento di controlli di attività o idoneità, e questo crea un problema:

Cosa succede se vuoi comunicare con un insieme di pod? Quando vengono riavviati, potrebbero avere un indirizzo IP diverso.

È qui che entrano in gioco i servizi. I servizi offrono endpoint stabili per i pod.

Per determinare su quali pod operano, i servizi si basano su etichette. Se i pod hanno le etichette corrette, vengono rilevati ed esposti automaticamente dai nostri servizi.

Il livello di accesso fornito da un servizio a un insieme di pod dipende dal tipo di servizio. Attualmente, sono disponibili tre tipi:

  • ClusterIP (interno): il tipo predefinito, significa che questo servizio è visibile solo all'interno del cluster.
  • NodePort: fornisce a ogni nodo nel cluster un IP accessibile dall'esterno.
  • LoadBalancer: aggiunge un bilanciatore del carico dal cloud provider che inoltra il traffico dal servizio ai nodi al suo interno.

Ora imparerai come:

  • Creare un servizio
  • Utilizzare i selettori di etichette per esporre all'esterno un insieme limitato di pod

Attività 7: crea un servizio

Prima di poter creare i servizi, crea un pod sicuro in grado di gestire il traffico https.

  1. Se hai cambiato directory, accertati di tornare in ~/orchestrate-with-kubernetes/kubernetes:
cd ~/orchestrate-with-kubernetes/kubernetes
  1. Esplora il file di configurazione del servizio secure fortune-app:
cat pods/secure-fortune.yaml
  1. Crea i pod secure-fortune e i dati delle relative configurazioni:
kubectl create secret generic tls-certs --from-file tls/ kubectl create configmap nginx-proxy-conf --from-file nginx/proxy.conf kubectl create -f pods/secure-fortune.yaml

Ora che hai un pod sicuro, è il momento di esporlo all'esterno. Per farlo, crea un servizio Kubernetes.

  1. Esplora il file di configurazione del servizio fortune-app:
cat services/fortune-app.yaml (Output): kind: Service apiVersion: v1 metadata: name: "fortune-app" spec: selector: app: "fortune-app" secure: "enabled" ports: - protocol: "TCP" port: 443 targetPort: 443 nodePort: 31000 type: NodePort </ql-code-block output> Nota:

È presente un selettore, utilizzato per trovare ed esporre automaticamente tutti i pod con le etichette app: fortune-app e secure: enabled.

Devi esporre qui la porta del nodo, perché è così che inoltrerai il traffico esterno dalla porta 31000 a nginx (sulla porta 443).
5. Utilizza il comando kubectl create per creare il servizio fortune-app dal file di configurazione: kubectl create -f services/fortune-app.yaml (Output): service/fortune-app created

Verifica l'attività completata

Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai creato correttamente i pod e il servizio fortune-app, visualizzerai un punteggio di valutazione.

Crea i pod e il servizio fortune-app

Per esporre il servizio stai utilizzando una porta. Di conseguenza, sono possibili conflitti di porta se un'altra app tenta l'associazione alla porta 31000 su uno dei tuoi server.

Normalmente, l'assegnazione delle porte viene gestita da Kubernetes. In questo lab scegli una porta per semplificare la configurazione dei controlli di integrità in un secondo momento.

  1. Utilizza il comando gcloud compute firewall-rules per consentire il traffico al servizio fortune-app sulla porta del nodo esposta:
gcloud compute firewall-rules create allow-fortune-nodeport --allow tcp:31000

Verifica l'attività completata

Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai creato correttamente una regola firewall per autorizzare il traffico TCP sulla porta 31000, visualizzerai un punteggio di valutazione.

Autorizza il traffico al servizio fortune-app sulla porta del nodo esposta

Ora che hai configurato tutto, dovresti poter contattare il servizio secure-fortune dall'esterno del cluster senza utilizzare il port forwarding.

  1. Per prima cosa, ricevi un indirizzo IP esterno per uno dei nodi.
gcloud compute instances list
  1. Prova a contattare il servizio secure-fortune utilizzando curl:
curl -k https://<EXTERNAL_IP>:31000

Oh oh. Ha raggiunto il timeout. Che sta succedendo?

Nota: è il momento per un rapido controllo delle conoscenze.

Usa i comandi seguenti per rispondere alle domande:

kubectl get services fortune-app

kubectl describe services fortune-app

Domande:

  • Perché non riesci a ricevere una risposta dal servizio fortune-app?
  • Quanti endpoint ha il servizio fortune-app?
  • Quali etichette deve avere un pod per essere selezionato dal servizio fortune-app?
  • Suggerimento: il problema ha a che fare con le etichette. Lo correggerai nella sezione successiva.

    Attività 8: aggiungi etichette ai pod

    Attualmente il servizio fortune-app non ha endpoint. Un modo per risolvere un problema di questo genere è utilizzare il comando kubectl get pods con una query sulle etichette.

    1. Puoi osservare un pod in esecuzione con l'etichetta fortune-app:
    kubectl get pods -l "app=monolith"
    1. Cosa viene restituito per "app=fortune-app" e "secure=enabled"?
    kubectl get pods -l "app=fortune-app,secure=enabled"

    Nota che questa query sulle etichette non restituisce alcun risultato. Sembra che tu debba aggiungere l'etichetta "secure=enabled".

    1. Usa il comando kubectl label per aggiungere l'etichetta secure=enabled mancante al pod secure-fortune. Dopodiché, potrai controllare e verificare che le etichette sono state aggiornate.
    kubectl label pods secure-fortune 'secure=enabled' kubectl get pods secure-fortune --show-labels
    1. Ora che i pod hanno le etichette corrette, visualizza l'elenco di endpoint sul servizio fortune-app:
    kubectl describe services fortune-app | grep Endpoints

    Ce n'è uno!

    1. Ricevi un indirizzo IP esterno per uno dei nodi.
    gcloud compute instances list
    1. Prova a contattare il servizio secure-fortune utilizzando curl:
    curl -k https://<EXTERNAL_IP>:31000

    Evviva! Houston, abbiamo un contatto.

    Verifica l'attività completata

    Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai aggiunto correttamente le etichette ai pod, visualizzerai un punteggio di valutazione.

    Aggiungi etichette ai pod

    Attività 9: informazioni sui deployment

    L'obiettivo di questo lab è prepararti alla scalabilità e alla gestione dei container in produzione. È qui che entrano in gioco i deployment. I deployment sono un metodo dichiarativo per assicurare che il numero di pod in esecuzione corrisponda al numero di pod desiderato, specificato dall'utente.

    Il principale vantaggio dei deployment è l'astrazione dei dettagli di basso livello nella gestione dei pod. Dietro le quinte, i deployment usano set di replica per gestire l'avvio e l'arresto dei pod. Se è necessario aggiornare o scalare i pod, è il deployment a occuparsene. Il deployment gestisce inoltre il riavvio dei pod che si arrestano per qualsiasi motivo.

    Guarda un esempio rapido:

    I pod sono collegati alla durata del nodo su cui vengono creati. Nell'esempio precedente, Node3 si è arrestato (e di conseguenza anche un pod). Anziché creare manualmente un nuovo pod e trovare un nodo in cui ospitarlo, il deployment ha creato un nuovo pod e lo ha avviato su Node2.

    Non male!

    È il momento di combinare tutto ciò che hai appreso su pod e servizi per suddividere l'applicazione fortune-app in servizi più piccoli utilizzando i deployment.

    Attività 10: crea deployment

    Suddividerai l'app fortune-app in tre parti separate:

    • auth - Genera token JWT per gli utenti autenticati.
    • fortune - Fornisce servizi fortune agli utenti autenticati.
    • frontend - Indirizza il traffico ai servizi auth e fortune.

    Ora è tutto pronto per la creazione dei deployment, uno per ciascun servizio. Successivamente, definirai i servizi interni per i deployment auth e fortune e il servizio esterno per il deployment del frontend. Al termine sarai in grado di interagire con i microservizi proprio come con il monolite, con la differenza che ora è possibile scalare ed eseguire il deployment di ogni porzione in modo indipendente.

    1. Per iniziare, esamina il file di configurazione del deployment auth:
    cat deployments/auth.yaml (Output) apiVersion: apps/v1 kind: Deployment metadata: name: auth spec: selector: matchLabels: app: auth replicas: 1 template: metadata: labels: app: auth spec: containers: - name: auth image: "us-central1-docker.pkg.dev/qwiklabs-resources/gsp-021-lab-images/auth-service:1.0.0" ports: - name: http containerPort: 8080

    Il deployment crea 1 replica del container auth.

    Quando esegui il comando kubectl create per creare il deployment auth, viene creato un pod conforme ai dati nel manifest del deployment. Ciò significa che puoi scalare il numero di pod modificando il valore specificato nel campo Repliche.

    1. Procedi alla creazione del tuo oggetto deployment:
    kubectl create -f deployments/auth.yaml
    1. Ora crea un servizio per il deployment auth. Usa il comando kubectl create per creare il servizio auth:
    kubectl create -f services/auth.yaml
    1. Esegui la stessa operazione per creare ed esporre il deployment fortune:
    kubectl create -f deployments/fortune-service.yaml kubectl create -f services/fortune-service.yaml
    1. Eseguila ancora una volta per creare ed esporre il deployment frontend.
    kubectl create configmap nginx-frontend-conf --from-file=nginx/frontend.conf kubectl create -f deployments/frontend.yaml kubectl create -f services/frontend.yaml Nota: per creare il frontend serve un ulteriore passaggio, poiché devi archiviare alcuni dati di configurazione con il container.
    1. Interagisci con il frontend recuperando il suo IP esterno e condividendolo tramite comando curl:
    kubectl get services frontend Nota: la generazione di un indirizzo IP esterno potrebbe richiedere qualche minuto. Esegui di nuovo il comando precedente se lo stato della colonna EXTERNAL-IP è pending. curl -k https://<EXTERNAL-IP>

    Un messsaggio della fortuna ti aspetta!

    Verifica l'attività completata

    Fai clic su Controlla i miei progressi qui sotto per verificare lo stato di avanzamento del lab. Se hai creato correttamente i deployment auth, fortune e frontend, visualizzerai un punteggio di valutazione.

    Crea i deployment

    Complimenti!

    Complimenti! Hai sviluppato un'applicazione multiservizio utilizzando Kubernetes. Le competenze che hai acquisito ti permetteranno di eseguire il deployment di applicazioni complesse su Kubernetes sfruttando una raccolta di deployment e servizi.

    Passaggi successivi/Scopri di più

    Formazione e certificazione Google Cloud

    … per utilizzare al meglio le tecnologie Google Cloud. I nostri corsi ti consentono di sviluppare competenze tecniche e best practice per aiutarti a metterti subito al passo e avanzare nel tuo percorso di apprendimento. Offriamo vari livelli di formazione, dal livello base a quello avanzato, con opzioni di corsi on demand, dal vivo e virtuali, in modo da poter scegliere il più adatto in base ai tuoi impegni. Le certificazioni ti permettono di confermare e dimostrare le tue abilità e competenze relative alle tecnologie Google Cloud.

    Ultimo aggiornamento del manuale: 11 agosto 2025

    Ultimo test del lab: 11 agosto 2025

    Copyright 2025 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.

    Prima di iniziare

    1. I lab creano un progetto e risorse Google Cloud per un periodo di tempo prestabilito
    2. I lab hanno un limite di tempo e non possono essere messi in pausa. Se termini il lab, dovrai ricominciare dall'inizio.
    3. In alto a sinistra dello schermo, fai clic su Inizia il lab per iniziare

    Utilizza la navigazione privata

    1. Copia il nome utente e la password forniti per il lab
    2. Fai clic su Apri console in modalità privata

    Accedi alla console

    1. Accedi utilizzando le tue credenziali del lab. L'utilizzo di altre credenziali potrebbe causare errori oppure l'addebito di costi.
    2. Accetta i termini e salta la pagina di ripristino delle risorse
    3. Non fare clic su Termina lab a meno che tu non abbia terminato il lab o non voglia riavviarlo, perché il tuo lavoro verrà eliminato e il progetto verrà rimosso

    Questi contenuti non sono al momento disponibili

    Ti invieremo una notifica via email quando sarà disponibile

    Bene.

    Ti contatteremo via email non appena sarà disponibile

    Un lab alla volta

    Conferma per terminare tutti i lab esistenti e iniziare questo

    Utilizza la navigazione privata per eseguire il lab

    Utilizza una finestra del browser in incognito o privata per eseguire questo lab. In questo modo eviterai eventuali conflitti tra il tuo account personale e l'account Studente, che potrebbero causare addebiti aggiuntivi sul tuo account personale.