Checkpoint
Create cluster and deploy an app
/ 40
Migrate to an Optimized Nodepool
/ 20
Apply a Frontend Update
/ 20
Autoscale from Estimated Traffic
/ 20
Ottimizzazione dei costi per Google Kubernetes Engine: Challenge Lab
- GSP343
- Introduzione
- Configurazione e requisiti
- Scenario della sfida
- Attività 1: crea un cluster ed esegui il deployment della tua app
- Attività 2: esegui la migrazione a un pool di nodi ottimizzato
- Attività 3: applica un aggiornamento del frontend
- Attività 4: applica la scalabilità automatica in base al traffico stimato
- (Facoltativo) Attività 5: ottimizza altri servizi
- Complimenti!
GSP343
Introduzione
In un Challenge Lab ti vengono presentati uno scenario e un insieme di attività. Anziché seguire le istruzioni passo passo, utilizzerai le competenze apprese dai lab durante il corso per capire come completare le attività autonomamente. Tramite un sistema di valutazione automatico (visibile in questa pagina), riceverai un feedback che ti consentirà di capire se hai completato le attività in modo corretto.
Quando partecipi a un Challenge Lab non ricevi alcuna formazione sui concetti di Google Cloud. Dovrai estendere le competenze che hai appreso, ad esempio modificare i valori predefiniti e leggere ed esaminare i messaggi di errore per correggere i tuoi errori.
Per ottenere un punteggio del 100% devi completare tutte le attività correttamente nel tempo stabilito.
Questo lab è consigliato solo agli studenti iscritti al corso Optimize Costs for Google Kubernetes Engine. Accetti la sfida?
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 Avvia 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 prima persona, 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).
- È ora di completare il lab: ricorda che, una volta iniziato, non puoi metterlo in pausa.
Scenario della sfida
Sei l'amministratore principale di Google Kubernetes Engine in un team che gestisce il negozio online per OnlineBoutique.
Hai tutto pronto per eseguire il deployment del sito del tuo team in Google Kubernetes Engine, ma stai ancora cercando modi per assicurarti di poter mantenere costi bassi e prestazioni elevate.
Sarai responsabile di eseguire il deployment dell'app OnlineBoutique su GKE e di apportare alcune modifiche alla configurazione, che sono state consigliate per ottimizzare i costi.
Ecco alcune linee guida che ti è stato chiesto di seguire durante il deployment:
- Crea il cluster nella zona
. - Lo schema di denominazione è team-risorsa-numero, ad es. un cluster potrebbe essere chiamato
. - Per il tuo cluster iniziale, parti da una dimensione macchina
e2-standard-2 (2 vCPU, 8 GB di memoria)
- Configura il cluster per utilizzare l'impostazione rapid di
release-channel
.
Attività 1: crea un cluster ed esegui il deployment della tua app
-
Prima di poter eseguire il deployment dell'applicazione, dovrai creare un cluster e denominarlo
. -
Parti da dimensioni ridotte e crea un cluster di zona con due (2) soli nodi.
-
Prima di eseguire il deployment del negozio, assicurati di configurare alcuni spazi dei nomi per separare le risorse sul tuo cluster in base ai due ambienti:
dev
eprod
. -
Dopodiché, esegui il deployment dell'applicazione nello spazio dei nomi
dev
con il seguente comando:
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 2: esegui la migrazione a un pool di nodi ottimizzato
- Dopo aver eseguito il deployment dell'app nello spazio dei nomi dev, osserva i dettagli dei nodi:
Stabilisci che è necessario apportare modifiche al pool di nodi del cluster:
- I deployment attuali hanno lasciato libera una grande quantità di RAM, per cui dovrebbe essere possibile utilizzare un pool di nodi con macchine che offrono meno RAM.
- La maggior parte dei deployment per cui potresti considerare l'opportunità di aumentare il numero di repliche richiederà solo 100 mCPU per ogni pod aggiuntivo. In teoria, potresti utilizzare un pool di nodi con meno CPU totale se lo configuri per utilizzare macchine più piccole. Tuttavia, devi anche considerare quanti deployment dovranno essere scalati e in che misura.
-
Crea un nuovo pool di nodi denominato
con il tipo di macchina custom-2-3584. -
Imposta il numero di nodi su 2.
-
Dopo aver configurato il nuovo pool di nodi, esegui la migrazione dei deployment della tua applicazione al nuovo pool contrassegnando come non pianificabile e svuotando
default-pool
. -
Elimina default-pool dopo aver completato la migrazione dei deployment.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 3: applica un aggiornamento del frontend
Hai appena completato il deployment di tutto il necessario e ora il team di sviluppo ti chiede di eseguire il push di un aggiornamento dell'ultimo minuto prima dell'imminente release! Non è un problema. Sai che puoi farlo senza dover provocare un tempo di inattività.
-
Imposta un budget di interruzione dei pod per il tuo deployment frontend.
-
Assegna il nome onlineboutique-frontend-pdb.
-
Imposta il valore di min-availability del tuo deployment su 1.
Ora puoi applicare l'aggiornamento del team. Il file utilizzato per il banner della home page è cambiato e il team ti ha fornito un'immagine Docker aggiornata:
-
Modifica il tuo deployment frontend e cambia l'immagine con quella aggiornata.
-
Quando modifichi il deployment, cambia ImagePullPolicy in Always.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
Attività 4: applica la scalabilità automatica in base al traffico stimato
Sta per partire una campagna di marketing che causerà un picco di traffico nel negozio OnlineBoutique. Normalmente, avvieresti risorse aggiuntive in anticipo per gestire il picco di traffico stimato. Tuttavia, se il picco di traffico è maggiore del previsto, potresti doverti alzare nel cuore della notte per aggiungere altre risorse allo scopo di gestire il carico.
Inoltre, vuoi evitare di eseguire risorse aggiuntive per più tempo di quanto strettamente necessario. Per ridurre i costi e risparmiarti potenziali grattacapi, puoi configurare i deployment Kubernetes per la scalabilità automatica all'inizio del picco di traffico.
-
Applica la scalabilità automatica orizzontale dei pod al tuo deployment frontend per gestire il picco di traffico.
-
Applica la scalabilità in base a una percentuale di CPU target del 50%.
-
Imposta la scalabilità dei pod tra un minimo di 1 e un massimo di
.
Naturalmente, consigliamo di assicurarti che gli utenti non riscontrino un tempo di inattività durante l'applicazione della scalabilità al deployment.
-
Per assicurarti che l'applicazione della scalabilità avvenga senza tempi di inattività, imposta il deployment per la scalabilità con una percentuale di CPU target del 50%. Questo dovrebbe lasciare ampio margine per gestire il carico durante l'applicazione della scalabilità automatica.
-
Imposta il deployment per la scalabilità tra un minimo di 1 e un massimo di
pod.
Ma che succede se il picco supera le risorse di computing di cui hai attualmente eseguito il provisioning? Potresti aver bisogno di aggiungere ulteriori nodi di computing.
-
Come passo successivo, assicurati che il cluster sia in grado di avviare automaticamente nodi di computing aggiuntivi in caso di necessità. Tuttavia, la gestione dello scale up non è l'unico caso che puoi risolvere con la scalabilità automatica.
-
Giocando in anticipo, configuri sia un numero minimo che un numero massimo di nodi. In questo modo, il cluster può aggiungere nodi quando il traffico è elevato e diminuirne il numero quando il traffico è ridotto.
-
Aggiorna il gestore della scalabilità automatica del cluster per applicare la scalabilità tra un minimo di 1 nodo e un massimo di 6 nodi.
Fai clic su Controlla i miei progressi per verificare l'obiettivo.
- Infine, esegui un test di carico per simulare il picco di traffico.
Fortunatamente, OnlineBoutique è stato progettato con generazione dei carichi incorporata. Attualmente, la tua istanza dev sta simulando il traffico verso il negozio con circa 10 utenti in contemporanea.
- Per riprodurre meglio il traffico previsto per questo evento, esegui la generazione del carico dal tuo pod
loadgenerator
con un numero più alto di utenti in contemporanea mediante questo comando. Sostituisci YOUR_FRONTEND_EXTERNAL_IP con l'IP del servizio frontend-external:
- Ora osserva i tuoi carichi di lavoro e monitora il modo in cui il cluster gestisce il picco di traffico.
Dovresti vedere che recommendationservice
ha un arresto anomalo oppure, come minimo, è in forte difficoltà a causa dell'aumento della domanda.
- Applica la scalabilità automatica orizzontale dei pod al tuo deployment recommendationservice. Applica la scalabilità in base a una percentuale di CPU target del 50% e imposta la scalabilità dei pod tra un minimo di 1 e un massimo di 5.
(Facoltativo) Attività 5: ottimizza altri servizi
Per quanto l'applicazione della scalabilità automatica orizzontale dei pod al tuo servizio frontend mantenga disponibile la tua applicazione durante il test di carico, se esegui il monitoraggio di altri carichi di lavoro noterai che alcuni di questi sono spinti quasi al limite per quanto riguarda determinate risorse.
Se hai del tempo rimasto nel lab, ispeziona alcuni degli altri carichi di lavoro e prova a ottimizzarli applicando la scalabilità automatica in base alla metrica delle risorse adeguata.
Puoi anche vedere se sarebbe possibile ottimizzare ulteriormente il tuo utilizzo delle risorse con il provisioning automatico dei nodi.
Complimenti!
Complimenti! In questo lab, hai eseguito il deployment dell'app OnlineBoutique in Google Kubernetes Engine e hai apportato alcune modifiche alla configurazione, che sono state consigliate per ottimizzare i costi. Hai anche applicato la scalabilità automatica orizzontale dei pod ai deployment frontend e recommendationservice per gestire il picco di traffico. Inoltre, hai ottimizzato altri servizi applicando la scalabilità automatica in base alla metrica delle risorse adeguata.
Guadagna il tuo prossimo badge delle competenze
Questo self-paced lab fa parte del corso con badge delle competenze Optimize Costs for Google Kubernetes Engine. Il completamento di questo corso con badge delle competenze ti permette di ottenere il badge indicato in precedenza come riconoscimento per l'obiettivo raggiunto. Condividi il badge sul tuo CV e sulle piattaforme social e annuncia il risultato che hai raggiunto utilizzando #GoogleCloudBadge.
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: 22 marzo 2024
Ultimo test del lab: 27 luglio 2023
Copyright 2024 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.