Azure Local: Deploy di un Cluster a due nodi con Azure Arc Jumpstart
Nella guida Configurazione di un cluster a due nodi in un ambiente virtuale di test abbiamo visto come realizzare una infrastruttura di test basata sulla versione 23H2 di Azure Local utilizzando un host fisico e la nested virtualization.
Oggi proveremo la seconda tipologia di deploy consigliata per la creazione di un ambiente di test: Azure Arc Jumpstart. Nello specifico useremo Jumpstart HCIBox, una soluzione chiavi in mano che offre una Sandbox per esplorare le funzionalità di Azure Local in un ambiente virtualizzato su Azure.
Figure 1: Architettura di Arc Jumpstart – HCIBox
HCIBox crea e configura automaticamente un Cluster Azure Local a due nodi utilizzando la virtualizzazione annidata con Hyper-V in esecuzione su una macchina virtuale Azure.
Nell’host vengono generate tre VM guest: due macchine Azure Local (AzSHost1, AzSHost2) e un Hyper-V nested (AzSMGMT).
AzSMGMT, a sua volta, ospita due macchine virtuali guest: un Domain Controller e un server Routing and Remote Access che funge da virtual router.
Attualmente le Region disponibili per eseguire HCIBox sono le seguenti:
- East US
- Australia East
- West Europe
Costi
Di base i costi sono gli stessi che normalmente avremmo creando in Azure le stesse risorse che il deploy genera in automatico. La spesa più importante dipende dall’istanza virtuale (host Hyper-V) e dallo storage. È possibile avere una stima a questo indirizzo.
Deploy infrastruttura HCIBox con Azure Developer CLI
Azure Developer CLI permette di automatizzare il processo di creazione di HCIBox, è importante che l’utente che esegue l’attività abbia le autorizzazioni corrette per creare le risorse necessarie e per creare applicazioni in Microsoft Entra.
Dovremo innanzitutto clonare il repository Azure Arc Jumpstart con Git.
Possiamo installare il client direttamente da PowerShell con il comando:
1 |
winget install --id Git.Git -e --source winget |
In questa fase verranno richiesti i privilegi amministrativi per completare l’installazione e sarà necessario chiudere e riaprire la finestra di PowerShell per poter utilizzare il client Git.
Figure 2: Installazione Git for Windows
Figure 3: Richiesta privilegi amministrativi per installazione Git
Figure 4: Necessario riavviare sessione di PowerShell
Procediamo, quindi, con il clone del repository usando il comando:
1 |
git clone https://github.com/microsoft/azure_arc.git |
Figure 5: Comando di clone del repository azure_arc
Per procedere saranno necessarie le Azure Cli e Azure Developer Cli
che possiamo installare con i seguenti comandi:
1 2 3 |
Invoke-WebRequest -Uri https://aka.ms/installazurecliwindows -OutFile .\AzureCLI.msi; Start-Process msiexec.exe -Wait -ArgumentList '/I AzureCLI.msi /quiet'; rm .\AzureCLI.msi winget install microsoft.azd |
Figure 6: Installazione Cli Azure
Figure 7: Installazione Cli Azure Developer
Figure 8: Necessaria nuova sessione di PowerShell
Una volta installati tutti i moduli necessari potremo iniziare con le fasi preliminari del deploy.
Spostiamoci, dunque, nel path corretto (directory azure_arc\azure_jumpstart_hcibox) e, tramite il comando a seguire, la sessione verrà autorizzata sul Tenant corretto:
1 |
azd auth login |
Figure 9: Comando di login al Tenant Azure
Figure 10: Accesso al Tenant Azure corretto
Figure 11: Dopo aver eseguito accesso web la sessione è autorizzata
Inizializziamo il deploy indicando il nome dell’ambiente che verrà creato:
1 |
azd init |
Figure 12: Dopo il comando di init viene richiesto il nome dell’environment
Partiamo ora con il deploy vero e proprio. Solo a questo punto verranno creati il Resource Group e tutte le risorse necessarie:
1 |
azd up |
Nel caso fossero disponibili più Subscription selezioneremo quella su cui lavorare e la Region in cui generare le risorse. In questa fase ci verrà chiesto di inserire anche la password di amministrazione del sistema.
Figure 13: Selezione della Subscription da utilizzare
Figure 14: Selezione della Region da utilizzare
Figure 15: Inserimento password di Amministrazione
Sarà necessario autorizzare l’installazione di tutti i moduli Azure necessari. Verrà nuovamente chiesto di autenticarsi con l’utenza corretta, relativa al Tenant Azure su cui stiamo eseguendo il deploy.
Figure 16: Installazione dei moduli Azure necessari
Figure 17: Selezione della tipologia di account
Figure 18: Inserimento account
Figure 19: Non è necessario autorizzare l’azienda alla gestione del dispositivo
Verrà chiesta conferma della sottoscrizione selezionata in precedenza, potremo cambiarla o confermarla inserendo il numero di riga oppure premendo invio per procedere.
Figure 20: Selezione della Subscription
Sarà importante che vi sia disponibilità di risorse computazionali nella Region su cui stiamo lavorando, in caso contrario potremo modificare i limiti nella sezione Quotas del nostro Tenant Azure.
Figure 21: Conferma della disponibilità di risorse nella Region
Una volta che il processo avrà verificato la disponibilità delle risorse necessarie dovremo indicare l’utente amministratore (che avrà come password quella indicata in precedenza), se vogliamo o meno configurare Azure Bastion per l’accesso, se validare e creare il cluster e, infine, se eseguire automaticamente gli aggiornamenti sui nodi.
Figure 22: Inserimento dati per finalizzazione installazione
Figure 23: Conferma di completamento del Deploy
Terminata la fase di deploy all’interno del nuovo Resource Group troveremo questa situazione:
Figure 24: Risorse create nel Resource Group di laboratorio
Fase post-deployment
Ora è necessario accedere in remoto alla macchina virtuale HCIBox-Client per proseguire con la fase successiva della distribuzione. Avendo creato una risorsa Azure Bastion lo faremo tramite questo strumento.
Figure 25: Overview della macchina HCIBox-Client
Figure 26: Accesso alla VM HCIBox-Client tramite Azure Bastion
Una volta effettuato l’accesso alla macchina virtuale HCIBox-Client, si avvierà automaticamente uno script PowerShell.
L’esecuzione di questo script richiederà circa 4 ore per essere completata, al termine la finestra si chiuderà automaticamente. A quel punto la distribuzione dell’infrastruttura sarà completa.
Figure 27: Script di configurazione in esecuzione su HCIBox-Client
Come anticipato, quando lo script avrà terminato le sue operazioni, troveremo all’interno di HCIBOX-CLIENT tre nuove virtual machine: i due nodi del cluster e il server AzSMGMT che, a sua volta, conterrà le due VM Domain Controller e Server RRAS.
Figure 28: VM create all’interno di HCIBOX-CLIENT
Figure 29: Domain Controller e Server RRAS all’interno di AZSMGMT
Figure 30: Cluster HCI configurato correttamente
Figure 31: Nodi del cluster HCI
Figure 32: Panoramica su uno dei due nodi del cluster
Conclusioni
Come già detto in precedenza, Microsoft offre 60 giorni di trial gratuita sulle nuove installazioni di Azure Local. In questo caso, però, sarà necessario prestare attenzione al costo delle risorse create.
Ad ogni modo il processo, automatico, di deploy di un Cluster HCI può essere una opzione utile e rapida per provare le funzionalità della soluzione.