Introduzione

Completato

Si supponga di lavorare per una società in crescita che si occupa di editing video e offre un servizio di rendering video basato sul cloud. L'azienda sta riscontrando un aumento della domanda per il servizio di rendering video in seguito alla sua espansione a livello internazionale. È alla ricerca di soluzioni per la scalabilità del prodotto in modo da poter offrire un'esperienza migliore a tutti i clienti. Poiché l'applicazione è già distribuita in un cluster Kubernetes, la direzione ha chiesto di trovare soluzioni per dimensionare l'applicazione senza dover apportare troppe modifiche.

Si era già a conoscenza del fatto che il servizio Azure Kubernetes fornisce strumenti di scalabilità direttamente da Kubernetes. È tuttavia necessario approfondire alcuni aspetti della scalabilità e comprendere come ottimizzare questi strumenti in base alle esigenze.

Questo modulo illustra la scalabilità e come aumentare o ridurre le prestazioni di un'applicazione Kubernetes usando l'utilità di scalabilità automatica nativa fornita da Kubernetes senza dover apportare modifiche all'infrastruttura.

Obiettivi di apprendimento

Al termine del modulo, si sarà in grado di:

  • Comprendere il concetto di scalabilità e come si applica a Kubernetes
  • Creare e configurare la scalabilità nativa nel servizio Azure Kubernetes
  • Scegliere come configurare e ottimizzare le risorse HPA

Prerequisiti

Tutti gli esercizi useranno Azure Cloud Shell, in cui sono già installati tutti gli strumenti necessari. Se si preferisce eseguire gli esempi nel proprio terminale, sarà necessario installare prima gli strumenti seguenti:

Prima di iniziare

Questo modulo presuppone che sia già in esecuzione un cluster. Sarà necessario creare il cluster con le risorse obbligatorie. Il repository GitHub per questo esempio include uno script che creerà il cluster, otterrà le credenziali e vi distribuirà l'applicazione. Sarà necessario eseguirlo prima di iniziare con i passaggi seguenti.

Importante

Per eseguire questo esercizio è necessario disporre di una propria sottoscrizione di Azure e questo potrebbe comportare dei costi.  Se non si ha una sottoscrizione di Azure, creare un account gratuito.

Prima di tutto, accedere ad Azure Cloud Shell con l'account in cui si vogliono distribuire le risorse.

Importante

Tutti gli script verranno eseguiti con Bash, quindi se non si è ancora creata un'istanza di Cloud Shell, selezionare "Bash" come shell in esecuzione.

Nota

Se si è in Windows e non in Cloud Shell, eseguire i comandi precedenti in WSL per un'esperienza ottimale.

Eseguire quindi il comando seguente.

curl -L https://aka.ms/learn-scalability-init?v=$RANDOM | bash

Al termine del comando, verrà creato un cluster con l'applicazione contoso-website distribuita al suo interno.