Azure Local: Configurazione di un cluster a due nodi in un ambiente virtuale di test
Nell’articolo di Nicola Ferrini Configurare Azure Stack HCI abbiamo visto come installare una soluzione Azure Stack HCI e di cosa si tratta: “Una soluzione cluster iperconvergente (Hyper-Converged Infrastructure) che ospita carichi di lavoro Windows e Linux virtualizzati e le relative risorse di archiviazione in un ambiente ibrido che combina l’infrastruttura locale con i servizi cloud di Azure”.
Durante l’evento Ignite 2024 Microsoft ha introdotto Azure Local per definire un unico brand che riesca a unificare l’intero portafoglio di infrastrutture distribuite.
Attualmente la versione 23H2 è l’ultima disponibile. Questa si concentra su aggiornamenti e monitoraggio basati su cloud, nuova e semplificata esperienza per la gestione di Arc VM, sicurezza e altro ancora.
Infine con la release 2411.1 viene aggiunto il supporto a 4-node switchless.
Figure 1: Panoramica della soluzione
Il processo di installazione visto in precedenza (basato sulla versione 21H2) è notevolmente cambiato e oggi vedremo come procedere alla configurazione di un cluster a 2 nodi.
Prima di cominciare, però, è giusto dare alcune informazioni di base.
Ottenere il software
Come anticipato la versione più recente è la 23H2, questa può essere scaricata direttamente dall’Azure Portal, nella sezione dedicata raggiungibile digitando Azure Local nell’area di ricerca di risorse e servizi:
Figure 2: Sezione Azure Local sul portale Azure
Figure 3: Download OS versione 23H2
Costi
In generale il costo è addebitato come servizio Azure ed è fatturato in base al numero di core presenti nei nodi. Ad oggi si parla di €10/physical core/month per Pay as you go, mentre di €0/physical core/month con gli Azure Hybrid Benefit.
E’ possibile trovare i costi sempre aggiornati alla pagina Azure Local pricing.
Recentemente è stata attivata una nuova opzione OEM per chi acquista sistemi con hardware certificato: Premier Solutions, Integrated Systems e Validated Nodes. La licenza rimane valida per tutta la vita dell’hardware, copre fino a 16 core e include tre servizi essenziali:
- Azure Local
- Azure Kubernetes Services (AKS)
- Windows Server Datacenter 2022
Valutazione di Azure Local 23H2
Microsoft offre una trial gratuita di 60 giorni per Azure Local quando viene installata una nuova infrastruttura.
Per testare senza hardware dedicato la soluzione è possibile eseguire due tipologie di deploy, oggi vedremo solamente la prima:
- Virtual deployment
- Azure Local Jumpstart
Prerequisiti
Per quanto riguarda l’host fisico viene consigliato un sistema con Hyper-V su Windows Server 2022, Windows 11 o superiori.
Il processore deve supportare la nested virtualization, nel caso di un cluster virtuale di due nodi l’host fisico deve avere almeno 64 GB di RAM (le VM ne utilizzeranno almeno 24 GB).
Per quanto riguarda le interfacce di rete, sarà sufficiente un singolo network adapter, mentre per la componente storage è consigliato un SSD di almeno 1 TB.
Gli host virtuali avranno, invece, i seguenti prerequisiti:
- Virtual machine type: Secure Boot e TPM abilitati
- vCPU: 4 core
- Memoria: almeno 24 GB
- Network: almeno 2 interfacce di rete, MAC spoofing abilitato
- Boot disk: un disco di almeno 200 GB
- Dischi per Storage Space Direct: 4 dischi con espansione dinamica, almeno 127 GB
- Time Synchronization: disabilitata
Installazione Azure Local OS
Come anticipato, procederemo con una installazione di due macchine virtuali su un host fisico con Hyper-V. Una volta avviato Hyper-V Manager possiamo iniziare:
Figure 4: Hyper-V Manager – Creazione nuova VM
Figure 5: Inserimento nome virtual machine
Figure 6: VM Generazione 2
Figure 7: Utilizzo di memoria dinamica (24 GB)
Figure 8: Selezione della prima interfaccia di rete
Figure 9: Creazione disco OS da 200 GB
Figure 10: Completamento processo creazione VM
Una volta terminata questa prima fase andremo a completare la configurazione della VM rispettando i prerequisiti indicati in precedenza.
Figure 11: Configurazione opzioni Virtual Machine
Figure 12: Abilitazione di Secure Boot e TPC
Figure 13: Indicazione del numero di virtual processors
Figure 14: Aggiunta dei dischi per Storage Space Direct
Figure 15: Crezione nuovo disco virtuale
Figure 16: Dischi impostati con espansione dinamica
Figure 17: Selezione del nome del disco
Figure 18: Dischi da almeno 127 GB
Figure 19: Completamento processo creazione disco
Adesso sarà necessario ripetere queste operazioni per altre tre volte così da avere quattro dischi dati, passeremo poi alla configurazione delle interfacce di rete.
Figure 20: Configurazione dischi completa
Figure 21: Abilitazione MAC address spoofing
Figure 22: Aggiunta seconda scheda di rete, anche per questa andrà abilitato MAC address spoofing
Figure 23: Disabilitazione della Time Synchronization
Per quanto riguarda la nested virtualization, questa andrà attivata tramite PowerShell con il seguente comando e con privilegi amministrativi:
1 |
Set-VMProcessor -VMName "AZLOC-NODE01" -ExposeVirtualizationExtensions $true |
Per creare il secondo nodo possiamo ripercorrere i passaggi eseguiti per il primo così da arrivare a questo risultato:
Figure 24: I due nodi pronti per l’installazione di Azure Local OS
Figure 25: Scelta della lingua
Figure 26: Selezione del disco OS (200 GB)
Figure 27: Processo di installazione
Figure 28: Il sistema installato richiede il cambio password
Figure 29: Processo di cambio password
Figure 30: Schermata di amministrazione Azure Local
Indicando il numero corrispondente alle varie opzioni possiamo accedere a tutte le disponibili, ad esempio indicando il numero 15 entreremo nel prompt di PowerShell, che potrebbe essere utile per un eventuale troubleshooting.
Ora procederemo con le configurazioni di rete necessarie, impostando gli indirizzi IP statici in base al nostro network di laboratorio. Sarà importante che vengano indicati anche i DNS che, in questa particolare installazione, dovranno essere i Domain Controller a cui i nodi si collegheranno.
Una nota essenziale è quella di non applicare alcun aggiornamento ai nodi, questi verranno eseguiti successivamente, poiché potrebbero far andare in errore la procedura di configurazione del cluster.
Figure 31:Configurazione di rete
Figure 32: Selezione dell’interfaccia di rete da modificare
Figure 33: Configurazione statica con i vostri parametri di rete
Figure 34: Configurazione DNS (Domain Controller)
Registrazione nodi e assegnazione permessi per Azure Local
Prima di procedere con le altre operazioni è necessario registrare nella Subscription Azure i Resource Provider necessari. È importante che l’utente che esegue l’operazione sia owner o contributor nella Subscription:
- Microsoft.HybridCompute
- Microsoft.GuestConfiguration
- Microsoft.HybridConnectivity
- Microsoft.AzureStackHCI
Figure 35: Area di gestione della Subscription Azure
Figure 36: Selezione dei Resource Provider
Figure 37: Registrazione dei Resource Provider necessari
Azure Local, al momento, è supportato solo nelle seguenti Region:
- East US
- West Europe
- Australia East
- Southeast Asia
- India Central
- Canada Central
- Japan East
- South Central US
Dovremo quindi registrare i nodi in una di queste e lo faremo via console tramite questi comandi PowerShell:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 |
#La sottoscrizione dove i nodi verranno registrati come Arc device $Subscription = "YourSubscriptionID" #Il resource group dove I nodi verrano registrati come Arc device $RG = "YourResourceGroupName" #La regione da usare per la registrazione dei nodi $Region = "westeurope" #Il tenant da utilizzare per la registrazione delle macchine $Tenant = "YourTenantID" #Connessione all'Azure account e alla Subscription Connect-AzAccount -SubscriptionId $Subscription -TenantId $Tenant -DeviceCode #Access Token per la registrazione $ARMtoken = (Get-AzAccessToken -WarningAction SilentlyContinue).Token # Account ID la registrazione $id = (Get-AzContext).Account.Id #Invoke dello script di registrazione Invoke-AzStackHciArcInitialization -SubscriptionID $Subscription -ResourceGroup $RG -TenantID $Tenant -Region $Region -Cloud "AzureCloud" -ArmAccessToken $ARMtoken -AccountID $id -Proxy $ProxyServer |
Figure 38: Command line – PowerShell
Figure 39: Inserimento parametri sottoscrizione, resource group, region e tenant
Figure 40: Autenticazione device con codice
Per autorizzare i server alla registrazione su Azure Arc è necessaria una autenticazione che viene eseguita tramite la pagina https://microsoft.com/devicelogin inserendo il codice del device
Figure 41: Inserimento del codice di accesso
Figure 42: Esito registrazione dispositivo
Figure 43: Invoke dello script di registrazione
Terminato il processo di registrazione dei due nodi li vedremo comparire nella sezione Machines in Azure Arc:
Figure 44: Azure Arc – Machines
Figure 45: Lista delle estensioni necessarie sui due nodi
Preparazione Active Directory
A partire dall’aggiornamento 2411 è disponibile, in Preview, la possibilità di installare Azure Local utilizzando identità locali con Azure Key Vault. Questa modalità era chiamata AD-less deployment in quanto non necessita di Active Directory.
Oggi vedremo, comunque, l’installazione più classica con i servizi AD.
I prerequisiti, lato Active Directory, sono i seguenti:
- Una Organization Unit (OU) dedicata
- I nodi non devono essere associati ad Active Directory prima del deployment
- Ereditarietà dei criteri di gruppo bloccata per Group Policy Object applicabile
- È necessario un utente con tutti i privilegi sulla OU
Prima di cominciare dovrà essere installato il seguente modulo tramite PowerShell nei Domain Controller:
1 |
Install-Module AsHciADArtifactsPreCreationTool -Repository PSGallery -Force |
Figure 46: Installazione modulo HCI tramite PowerShell
Passiamo ora alla creazione dell’unità organizzativa e dell’utente necessari a procedere con l’installazione. Alla richiesta di username e password, il nome dell’utente non deve includere il dominio (azlocal\hciuser):
1 |
New-HciAdObjectsPreCreation -AzureStackLCMUserCredential (Get-Credential) -AsHciOUName "OU=HCI,DC=AZURE,DC=LOCAL" |
Figure 47: Creazione OU e utente per deployment con Active Directory
Figure 48: Risultato comando di creazione OU e Account
Figure 49: OU e utente visibili in Active Directory Users and Computers
Deployment tramite Azure Portal
Innanzitutto dovremo assegnare all’utente che si occuperà del deploy i ruoli necessari, andando nell’area relativa alla sottoscrizione scelta per la configurazione e selezionando Access control IAM:
- Azure Stack HCI Administrator
- Reader
- Key Vault Data Access Administrator
- Key Vault Secrets Officer
- Key Vault Contributor
- Storage Account Contributor
Figure 50: Assegnazione ruoli necessari al deploy
Figure 51: Esempio di assegnazione ruoli
Dopo aver assegnato tutti i ruoli possiamo accedere, tramite browser, all’Azure Portal e, dopo aver trovato il servizio corretto, procedere alla configurazione come segue.
Figure 52: Deploy Azure Local
Figure 53: Selezione di Subscription, Resource Group e Region
Figure 54: Aggiunta nodi cluster HCI
Figure 55: Selezione macchine per cluster Azure Local
Figure 56: Validazione delle machine
Figure 57: Creazione nuovo Key Vault
Figure 58: Dopo aver inserito i parametri procedere alla configurazione
Figure 59: Selezione di una nuova configurazione di Azure Local
Figure 60: Per l’installazione 2 nodi selezioniamo connettività switch-less
Figure 61: Accorpiamo le interfacce Compute e di Management
Quando specificheremo le interfacce di rete sarà possibile selezionarne una sola per categoria, è normale ed importante che queste abbiano gli stessi nodi su tutti i nodi del cluster.
Figure 62: Selezione network interface e impostazione Jumbo Frame a 9014 per storage
Figure 63: Assegnazione statica IP, per questa configurazione è neccessario range di 6 indirizzi
In questa fase indichiamo i parametri relativi ad Active Directory e alla creazione del Cloud Witness per cui sarà necessario un Azure storage account:
Figure 64: Inserimento parametri Active Directory
Figure 65: Utilizzo dei parametri di sicurezza raccomandati
Figure 66: Create workload volumes and required infrastructure volumes (Raccomandata)
Se tutti i componenti sono stati correttamente configurati si potrà passare alla validazione della infrastruttura. Questo processo richiede circa 15 minuti per un cluster a due nodi come questo.
Figure 67: Avvio del processo di validazione del cluster
Figure 68: Processo di validazione in corso
Figure 69: Al termine della validazione procedere con review e creazione
Figure 70: Avvio creazione cluster Azure Local
Figure 71: Fase di deployment… armiamoci di pazienza
Figure 72: Deployment Azure Local completato
Per conferma della correttezza dell’installazione possiamo andare nel Resource Group utilizzato e verificare che siano presenti tutte le risorse sotto indicate:
Figure 73: Risorse presenti nel Resource Group al termine del deploy
A questo punto l’installazione del cluster Azure Local è completa, accedendo al portale Azure, nella sezione preposta vedremo questa situazione:
Figure 74: Area di gestione di Azure Local
Conclusioni
In questo articolo abbiamo visto il processo di configurazione di un cluster due nodi di Azure Local in un ambiente virtuale di test, i passaggi indicati possono però essere utilizzati, con i dovuti adattamenti, anche in ambienti fisici.
Nei prossimi episodi inizieremo a vedere il funzionamento della soluzione e a creare i primi workload quindi Stay Tuned!