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:

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:

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:

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:

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):

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!