Condividi tramite


Distribuire operazioni disconnesse per Azure locale (anteprima)

Questo articolo illustra come distribuire operazioni disconnesse per Azure Local nel data center. Si apprenderà come determinare la topologia locale di Azure, preparare il primo computer, installare l'appliance e creare l'istanza locale di Azure per migliorare la resilienza e il controllo.

Importante

Questa funzionalità è attualmente disponibile in ANTEPRIMA. Vedere le Condizioni per l'utilizzo supplementari per le anteprime di Microsoft Azure.

Considerazioni chiave

Quando si distribuisce Azure Local con operazioni disconnesse, prendere in considerazione i punti chiave seguenti:

  • La configurazione di rete e i nomi immessi nel portale devono essere coerenti con la configurazione e i commutatori creati in precedenza.
  • Le distribuzioni virtuali non sono supportate. I computer fisici sono necessari.
  • Per supportare le operazioni disconnesse, è necessario almeno tre computer. Sono supportati fino a otto computer.
  • La distribuzione del cluster locale di Azure può richiedere diverse ore.
  • Il piano di controllo locale può riscontrare periodi di inattività durante i riavvii e gli aggiornamenti del nodo.
  • Durante la creazione del cluster, viene creato un volume di infrastruttura di 2 TB con thin provisioning per le operazioni disconnesse. Non manomettere o eliminare i volumi dell'infrastruttura creati durante il processo di distribuzione.
  • Quando si crea l'istanza locale di Azure, l'appliance vm per le operazioni disconnesse viene spostata nell'archiviazione cluster e convertita in una macchina virtuale in cluster.

Prerequisiti

Requisiti Dettagli
Componenti fisici Pianificare e comprendere l'hardware
Identità Pianificare e comprendere l'identità
Rete Pianificare e comprendere la rete
Infrastruttura a chiave pubblica Pianificare e comprendere l'infrastruttura a chiave pubblica (PKI)
Configurazione Configurare le operazioni disconnesse per Azure Local

Per altre informazioni, vedere Panoramica delle operazioni disconnesse locali di Azure.

Per informazioni sui problemi noti identificati con le operazioni disconnesse per Azure Local, vedere Problemi noti per le operazioni disconnesse.

Elenco di controllo per la distribuzione di operazioni disconnesse

Di seguito è riportato un elenco di controllo degli elementi necessari prima di distribuire Azure Local con operazioni disconnesse:

  • Piano di rete:
    • Pool IP, IP in ingresso, nome di dominio completo (FQDN), DNS (Domain Name System) e Gateway (GW).
  • Server DNS per risolvere i nomi IP in nomi FQDN.
  • Credenziali locali per i computer locali di Azure.
  • Credenziali di Active Directory per la distribuzione locale di Azure.
  • Requisiti di rete e unità organizzativa di Active Directory.
  • Credenziali locali e credenziali di Active Directory per soddisfare la complessità minima delle password.
  • Active Directory preparata per la distribuzione locale di Azure.
  • Certificati per proteggere gli endpoint di ingresso (24 certificati) e la chiave pubblica (radice) usata per creare questi certificati.
  • Certificati per proteggere l'endpoint di gestione (due certificati).
  • Credenziali e parametri da integrare con il provider di identità:
    • Applicazione, credenziali, dettagli server e catena di certificati di Active Directory Federations Services (ADFS) per i certificati usati nella configurazione dell'identità.
  • File di distribuzione delle operazioni disconnesse (manifesto e appliance).
  • ISO composito locale di Azure (segue la versione 2506 o successiva).
  • Driver firmware/dispositivo dall'OEM.

Sequenza di distribuzione

In questa anteprima è possibile distribuire Azure Local con operazioni disconnesse su unità di mantenimento delle scorte hardware (SKU) non premier. Per altre informazioni, vedere Catalogo locale di Azure.

È possibile distribuire e configurare Locale di Azure con operazioni disconnesse in più passaggi. L'immagine seguente mostra il percorso complessivo, inclusa la post-distribuzione.

Screenshot del flusso di distribuzione per le operazioni disconnesse in Locale di Azure.

Ecco una breve panoramica degli strumenti e dei processi usati durante la distribuzione. L'accesso ai nodi locali di Azure (sistema operativo o host) potrebbe essere necessario.

  1. Usare gli strumenti e i processi esistenti per installare e configurare il sistema operativo. L'accesso amministratore locale è necessario in tutti i nodi locali di Azure.
  2. Eseguire PowerShell e il modulo Operazioni nel primo computer (ordinato in base al nome del nodo, ad esempio seed node). È necessario l'accesso amministratore locale.
  3. Usare il portale di Azure locale o l'interfaccia della riga di comando di Azure. Non è necessario l'accesso al nodo fisico, ma è necessario Azure Role-Based Controllo di accesso con il ruolo Proprietario.
  4. Usare il portale di Azure locale o l'interfaccia della riga di comando di Azure. Non è necessario l'accesso al nodo fisico, ma è necessario il controllo degli accessi in base al ruolo di Azure con il ruolo Operatore.

Preparare i computer locali di Azure

Per preparare ogni computer per l'appliance operativa disconnessa, seguire questa procedura:

  1. Scaricare l'ISO locale di Azure (2506 e versioni successive).

  2. Installare il sistema operativo e configurare la rete dei nodi per ogni computer locale di Azure che si intende usare per formare un'istanza di . Per altre informazioni, vedere Installare il sistema operativo Azure Stack HCI.

  3. In hardware fisico installare firmware e driver come indicato dall'OEM.

  4. Rinominare le schede di rete.

    Usare lo stesso nome dell'adattatore su ogni nodo per la rete fisica. Se i nomi predefiniti non sono chiari, rinominare gli adattatori in nomi significativi. Se i nomi degli adattatori corrispondono già e non è necessario rinominarli, ignorare questo passaggio.

    Ecco un esempio:

     Rename-NetAdapter -Name "Mellanox #1" -NewName "ethernet"
     Rename-NetAdapter -Name "Mellanox #2" -NewName "ethernet 2" 
     # Other examples for naming e.g."storage port 0" 
    
  5. Configurare i commutatori virtuali in base alla rete pianificata:

    • Considerazioni sulla rete per le distribuzioni cloud di Azure Locale.

    • Se il piano di rete raggruppa tutto il traffico (gestione, calcolo e archiviazione), creare un commutatore virtuale chiamato ConvergedSwitch(ManagementComputeStorage) in ogni nodo.

      # Example
      $networkIntentName = 'ManagementComputeStorage'
      New-VMSwitch -Name "ConvergedSwitch($networkIntentName)" -NetAdapterName "ethernet","ethernet 2"  
      
    • Se si usano VLAN, assicurarsi di impostare la VLAN della scheda di rete.

      Set-NetAdapter -Name "ethernet 1" -VlanID 10
      
  6. Rinominare ogni nodo in base alle convenzioni di denominazione degli ambienti. Ad esempio, azlocal-n1, azlocal-n2 e azlocal-n3.

  7. Verificare e assicurarsi di disporre di spazio su disco sufficiente per la distribuzione delle operazioni disconnesse.

    Assicurarsi di avere almeno 600 GB di spazio libero nell'unità che si prevede di usare per la distribuzione. Se l'unità ha meno spazio, usare un disco dati in ogni nodo e inizializzarlo in modo che ogni nodo abbia gli stessi dischi dati disponibili per la distribuzione.

    Ecco come inizializzare un disco nei nodi e formattarlo per una partizione D:

    $availableDrives = Get-PhysicalDisk | Where-Object { $_.MediaType -eq "SSD" -or $_.MediaType -eq "NVMe" } | where -Property CanPool -Match "True" | Sort-Object Size -Descending
    $driveGroup = $availableDrives | Group-Object Size | select -First 1
    $biggestDataDrives = $availableDrives | select -First $($driveGroup.Count)
    $firstDataDrive= ($biggestDataDrives | Sort-Object DeviceId | select -First 1).DeviceId
    Initialize-Disk -Number $firstDataDrive
    New-partition -disknumber $firstDataDrive -usemaximumsize | format-volume -filesystem NTFS -newfilesystemlabel Data
    Get-partition -disknumber $firstDataDrive -PartitionNumber 2 | Set-Partition -NewDriveLetter D
    
  8. In ogni nodo copiare la chiave pubblica del certificato radice. Per altre informazioni, vedere PKI per le operazioni disconnesse. Modificare i percorsi in base alla posizione e al metodo usati per esportare la chiave pubblica per la creazione di certificati.

    $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\"
    $applianceRootCertFile = "C:\AzureLocalDisconnectedOperations\applianceRoot.cer"
    
    New-Item -ItemType Directory $applianceConfigBasePath
    Copy-Item \\fileserver\share\azurelocalcerts\publicroot.cer $applianceRootCertFile
    
    
  9. Copiare nella cartella APPData/Azure Local e denominarla azureLocalRootCert. Usare queste informazioni durante la distribuzione dell'appliance Arc.

    Copy-Item $applianceRootCertFile $($env:APPDATA)\AzureLocal\AzureLocalRootCert.cer
    
  10. In ogni nodo importare la chiave pubblica nell'archivio locale:

    Import-Certificate -FilePath $applianceRootCertFile -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false
    

    Annotazioni

    Se si usa una radice diversa per il certificato di gestione, ripetere il processo e importare la chiave in ogni nodo.

  11. Installare e configurare l'interfaccia della riga di comando con l'endpoint locale in ogni nodo.

  12. Impostare la variabile di ambiente per supportare le operazioni disconnesse

    [Environment]::SetEnvironmentVariable("DISCONNECTED_OPS_SUPPORT", $true, [System.EnvironmentVariableTarget]::Machine)
    
  13. Trovare il primo computer dall'elenco dei nomi dei nodi e specificarlo come da seednode usare nel cluster.

    $seednode = @('azlocal-1', 'azlocal-2','azlocal-3')|Sort|select –first 1
    $seednode
    

    Annotazioni

    Assicurarsi di distribuire operazioni disconnesse in questo nodo.

Distribuire operazioni disconnesse

Le operazioni disconnesse devono essere implementate sul nodo seme. Per assicurarsi di eseguire i passaggi seguenti nel primo computer, vedere Preparare i computer locali di Azure.

Per preparare il primo computer per l'appliance operativa disconnessa, seguire questa procedura:

  1. Modificare il percorso in modo che sia corretto.

    Se è stato inizializzato un disco dati o si usa un percorso diverso da C: modificare .$applianceConfigBasePath

    Ecco un esempio:

    $applianceConfigBasePath = 'C:\AzureLocalDisconnectedOperations'
    
  2. Copiare i file di installazione delle operazioni disconnesse (appliance e manifesto) nel primo computer. Salvare questi file nella cartella di base creata in precedenza.

    Copy-Item \\fileserver\share\azurelocalfiles\AzureLocal.DisconnectedOperations.zip $applianceConfigBasePath  
    Copy-Item \\fileserver\share\azurelocalfiles\AzureLocal.DisconnectedOperations.manifest  $applianceConfigBasePath  
    
  3. Verificare di avere questi due file nella cartella di base usando il comando seguente:

    • AzureLocal.DisconnectedOperations.zip

    • AzureLocal.DisconnectedOperations.manifest

      Get-ChildItem $applianceConfigBasePath  
      
  4. Estrarre il file ZIP nella stessa cartella:

    Expand-Archive "$($applianceConfigBasePath)\AzureLocal.DisconnectedOperations.zip" -DestinationPath $applianceConfigBasePath  
    
  5. Verificare di avere questi tre file usando il comando seguente:

    • OperationsModule (modulo PowerShell per l'installazione)

    • IRVM01.zip

    • AzureLocal.DisconnectedOperations.manifest

      Get-ChildItem $applianceConfigBasePath   
      

      Annotazioni

      A questo punto, rimuovere il AzureLocal.DisconnectedOperations.zip file per risparmiare spazio.

  6. Copiare la directory radice dei certificati. Salvare questi file nella cartella di base creata in precedenza.

    $certsPath = "$($applianceConfigBasePath)\certs"  
    Copy-Item \\fileserver\share\azurelocalcerts $certspath -recurse  
    
  7. Verificare i certificati, la chiave pubblica e l'endpoint di gestione. Devono essere presenti due cartelle: ManagementEndpointCerts e IngressEndpointsCerts almeno 24 certificati.

    Get-ChildItem $certsPath 
    Get-ChildItem $certsPath -recurse -filter *.cer  
    
  8. Installare la funzionalità BitLocker, incluso lo strumento di gestione.

    Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementTools
    
  9. Importare il modulo Operazioni. Eseguire il comando come amministratore usando PowerShell. Modificare il percorso in modo che corrisponda alla struttura di cartelle.

    Import-Module "$applianceConfigBasePath\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force    
    
    $mgmntCertFolderPath = "$certspath\ManagementEndpointCerts"  
    $ingressCertFolderPath = "$certspath\IngressEndpointsCerts"  
    

Inizializzare i parametri

Popolare i parametri necessari in base alla pianificazione della distribuzione. Modificare gli esempi in modo che corrispondano alla configurazione.

  1. Popolare l'oggetto di configurazione della rete di gestione.

    $CertPassword = "retracted"|ConvertTo-Securestring -AsPlainText -Force  
    $ManagementIngressIpAddress = "192.168.50.100"  
    $ManagementNICPrefixLength = 24  
    $mgmtNetworkConfigParams = @{  
        ManagementIpAddress = $ManagementIngressIpAddress  
        ManagementIpv4PrefixLength = $ManagementNICPrefixLength  
        TlsCertificatePath = "$mgmntCertFolderPath\ManagementEndpointSsl.pfx"  
        TlsCertificatePassword = $CertPassword  
        ClientCertificatePath = "$mgmntCertFolderPath\ManagementEndpointClientAuth.pfx"  
        ClientCertificatePassword = $CertPassword  
    }  
    $managementNetworkConfiguration = New-ApplianceManagementNetworkConfiguration @mgmtNetworkConfigParams  
    

    Annotazioni

    La password per i certificati deve essere nel formato di stringa protetta. Per i certificati relativi all'endpoint di gestione, vedere PKI per le operazioni disconnesse.

  2. Popolare l'oggetto di configurazione di rete in ingresso.

    $azureLocalDns = "192.168.200.150"  
    $NodeGw = "192.168.200.1"  
    $IngressIpAddress = "192.168.200.115"  
    $NICPrefixLength= 24  
    $ingressNetworkConfigurationParams = @{  
        DnsServer = $azureLocalDns  
        IngressNetworkGateway = $NodeGw  
        IngressIpAddress = $IngressIpAddress  
        IngressNetworkPrefixLength = $NICPrefixLength  
        ExternalDomainSuffix = "autonomous.cloud.private"
    }  
    $ingressNetworkConfiguration = New-ApplianceIngressNetworkConfiguration @ingressNetworkConfigurationParams  
    

    Per informazioni dettagliate sulla configurazione di rete, vedere Rete per le operazioni disconnesse.

  3. Popolare l'oggetto di configurazione dell'identità.

    $oidcCertChain = Get-CertificateChainFromEndpoint -requestUri 'https://adfs.azurestack.local/adfs'        
    # This can be ommitted if you don't have ldaps 
    $ldapsCertChain = Get-CertificateChainFromEndpoint -requestUri 'https://dc01.azurestack.local'
    # Ldaps default port (Non secure default = 389)
    $ldapPort = 636 
    
    $ldapPassword = 'RETRACTED'|ConvertTo-SecureString -AsPlainText -Force
    # Populate params with ldaps enabled.
    $identityParams = @{  
        Authority = "https://adfs.azurestack.local/adfs"  
        ClientId = "<ClientId>"  
        RootOperatorUserPrincipalName = "operator@azurestack.local"  
        LdapServer = "adfs.azurestack.local"  
        LdapPort = $ldapPort 
        LdapCredential = New-Object PSCredential -ArgumentList @("ldap", $ldapPassword)  
        SyncGroupIdentifier = "<SynGroupIdentifier>"     
        OidcCertChainInfo = $oidcCertChain
        LdapsCertChainInfo = $ldapsCertChain             
    }  
    $identityConfiguration = New-ApplianceExternalIdentityConfiguration @identityParams  
    

    Annotazioni

    LdapsCertChainInfo e OidcCertChain possono essere omessi completamente a scopo di debug o demo. Per informazioni su come ottenere LdapsCertChainInfo e OidcCertChainInfo, vedere PKI per le operazioni disconnesse. In questa versione di anteprima si è verificato un problema con il Get-CertificateChainFromEndpoint non esportato come previsto. Usare i passaggi descritti in Problemi noti per le operazioni disconnesse per Azure Local per attenuare questo problema.

    Per altre informazioni, vedere Identità per le operazioni disconnesse.

  4. Popolare l'oggetto di configurazione dei certificati esterni.

    $ingressCertPassword = "retracted"|ConvertTo-Securestring -AsPlainText -Force  
    $certsParams = @{  
        certificatesFolder = $ingressCertFolderPath  
        certificatePassword = $ingressCertPassword  
    }  
    $CertificatesConfiguration = New-ApplianceCertificatesConfiguration @certsParams  
    

    Per altre informazioni, vedere PKI per le operazioni disconnesse.

  5. Copiare il file manifesto dell'appliance (scaricato da Azure) nella cartella di configurazione:

    # Modify your source path accordingly 
    copy-item AzureLocal.DisconnectedOperations.Manifest.json $applianceConfigBasePath\AzureLocal.DisconnectedOperations.manifest.json
    

Installare e configurare l'appliance

Per installare e configurare l'appliance nel primo computer, usare il comando seguente. AzureLocalInstallationFile Puntare a un percorso contenente il IRVM01.zip.

$azureLocalInstallationFile = "$($applianceConfigBasePath)"  
$applianceManifestJsonPath = Join-Path $applianceConfigBasePath AzureLocal.DisconnectedOperations.manifest.json

$installAzureLocalParams = @{  
    Path = $azureLocalInstallationFile  
    IngressNetworkConfiguration = $ingressNetworkConfiguration  
    ManagementNetworkConfiguration = $managementNetworkConfiguration  
    IngressSwitchName = "ConvergedSwitch($networkIntentName)"  
    ManagementSwitchName = "ConvergedSwitch($networkIntentName)"  
    ApplianceManifestFile = $applianceManifestJsonPath  
    IdentityConfiguration = $identityConfiguration  
    CertificatesConfiguration = $CertificatesConfiguration  
    TimeoutSec = 7200  
    DisableCheckSum = $true  
    AutoScaleVMToHostHW = $false  
}  

Install-Appliance @installAzureLocalParams -disconnectMachineDeploy -Verbose  

# Note: If you're deploying the appliance with limited connectivity you can ommit the flag -disconnectMachineDeploy. 

Annotazioni

Installare l'appliance nel primo computer per assicurarsi che Azure Local venga distribuito correttamente. La configurazione richiede alcune ore e deve essere completata correttamente prima di procedere. Al termine, nel data center è in esecuzione un piano di controllo locale.

Se l'installazione non riesce a causa di impostazioni di rete, identità o osservabilità non corrette, aggiornare l'oggetto di configurazione ed eseguire di nuovo il Install-appliance comando.

È anche possibile specificare l'opzione -clean per avviare l'installazione da zero. Questa opzione reimposta qualsiasi stato di installazione esistente e inizia dall'inizio

DisableChecksum = $true ignora la convalida della firma dell'appliance. Usare questa opzione quando si distribuisce un ambiente con estensione air-gapped in questa versione. Se la convalida del checksum è abilitata, il nodo deve essere in grado di raggiungere e convalidare i certificati di firma del certificato Microsoft usati per firmare questa compilazione.

Configurare l'osservabilità per la diagnostica e il supporto

È consigliabile configurare l'osservabilità per ottenere i log generati dal sistema per la prima distribuzione. Questo non si applica se si prevede di eseguire air-gapped, perché i log generati dal sistema e la diagnostica richiedono la connettività.

Le risorse di Azure necessarie:

  • Un gruppo di risorse in Azure usato per l'appliance.
  • Nome dell'entità servizio (SPN) con diritti di collaboratore per il gruppo di risorse.

Per configurare l'osservabilità, seguire questa procedura:

  1. In un computer con l'interfaccia della riga di comando di Azure (o usando Azure Cloud Shell nel portale di Azure) creare il nome SPN. Eseguire lo script seguente:

    $resourcegroup = 'azure-disconnectedoperations'
    $appname = 'azlocalobsapp'
    az login
    $g = (az group create -n $resourcegroup -l eastus)|ConvertFrom-Json
    az ad sp create-for-rbac -n $appname --role Owner --scopes $g.id
    
    # get the subscription id
    $j = (az account list|ConvertFrom-Json)|Where-object { $_.IsDefault}
    
    # SubscriptionID:
    $j.id
    

    Di seguito è riportato un esempio di output:

    {
      "appId": "<AppId>",
      "displayName": "azlocalobsapp",
      "password": "<RETRACTED>",
      "tenant": "<RETRACTED>"
    }
    <subscriptionID>
    
  2. Impostare la configurazione dell'osservabilità. Modificare in modo che corrisponda ai dettagli dell'ambiente:

    $observabilityConfiguration = New-ApplianceObservabilityConfiguration -ResourceGroupName "azure-disconnectedoperations" `
      -TenantId "<TenantID>" `
      -Location "<Location>" `
      -SubscriptionId "<SubscriptionId>" `
      -ServicePrincipalId "<AppId>" `
      -ServicePrincipalSecret ("<Password>"|ConvertTo-SecureString -AsPlainText -Force)
    
    Set-ApplianceObservabilityConfiguration -ObservabilityConfiguration $observabilityConfiguration
    
  3. Verificare che l'osservabilità sia configurata:

    Get-ApplianceObservabilityConfiguration
    

Distribuzioni completamente disconnesse (con isolamento fisico, air-gapped)

Per abilitare Azure Local in una distribuzione completamente isolata (nodi senza connessione Internet diretta), procedere come segue su ogni nodo:

  • Configurare il timeserver per l'uso del controller di dominio. Modificare lo script ed eseguirlo da PowerShell:
w32tm /config /manualpeerlist:"dc.contoso.com" /syncfromflags:manual /reliable:yes /update
net stop w32time
net start w32time
w32tm /resync /rediscover
# Check your NTP settings
w32tm /query /peers

Scaricare (o copiare) i certificati seguenti e importarli nell'archivio attendibilità locale:

Inserirli in una cartella, ad esempio C:\AzureLocalDisconnectedOperations\Certs\

Importare i certificati eseguendo quanto segue:

Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\MicCodSigPCA2011_2011-07-08.crt -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false
Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\DigiCertGlobalRootCA.cer Cert:\LocalMachine\Root -Confirm:$false
Import-Certificate -FilePath C:\AzureLocalDisconnectedOperations\Certs\DigiCertGlobalRootG2.cer -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$false

Creare una sottoscrizione per i nodi locali di Azure (infrastruttura)

Creare una sottoscrizione per i nodi locali di Azure e l'istanza locale di Azure (cluster).

  1. Accedere al portale di Azure locale all'indirizzo https://portal.. Sostituire con il nome di dominio.
  2. Passare a Sottoscrizioni.
  3. Seleziona + Aggiungi.
  4. Per Nome sottoscrizione immettere un nome, ad esempio Sottoscrizione iniziale.
  5. Seleziona il titolare della sottoscrizione che avrà il ruolo di Proprietario (RBAC) per questa sottoscrizione.
  6. Per Località lasciare il valore impostato su Autonomo.
  7. Selezionare Crea, attendere il completamento dell'operazione, quindi aggiornare il browser per confermare la visualizzazione della nuova sottoscrizione.

Annotazioni

In alternativa, usare l'interfaccia della riga di comando di Azure o PowerShell per automatizzare questo processo.

Creare un gruppo di risorse e un'entità servizio per l'istanza locale di Azure

Usare l'account dell'operatore per creare un nome SPN per l'inizializzazione Arc di ogni nodo locale di Azure. Per bootstrap, il ruolo Proprietario è necessario a livello di sottoscrizione.

Per creare il nome SPN, seguire questa procedura:

  1. Configurare l'interfaccia della riga di comando nel computer client ed eseguire questo comando:

    $subscriptionName = 'Starter subscription'
    $resourcegroup = 'azurelocal-disconnected-operations'
    $appname = 'azlocalclusapp'      
    az cloud set -n 'azure.local'
    az login      
    az account set --subscription $subscriptionName
    $subscriptionId = az account show --query id --output tsv
    $g = (az group create -n $resourcegroup -l autonomous)|ConvertFrom-Json  
    az ad sp create-for-rbac -n $appname --role Owner --scopes "/subscriptions/$($subscriptionId)"  
    

    Di seguito è riportato un esempio di output:

    {  
      "appId": "<AppId>",  
      "displayName": "azlocalclusapp",  
      "password": "<RETRACTED>",  
      "tenant": "<RETRACTED>"  
    }  
    
    
  2. Copiare l'APPID e la password da usare nel passaggio successivo.

    Annotazioni

    Pianificare la sottoscrizione e il gruppo di risorse in cui posizionare i nodi e il cluster. L'azione di spostamento delle risorse non è supportata.

    La risorsa cluster creata durante la distribuzione viene usata per carichi di lavoro come macchine virtuali e servizi Azure Kubernetes, quindi pianificare di conseguenza i controlli degli accessi in base al ruolo.

    Non inserire la risorsa cluster nella sottoscrizione dell'operatore, a meno che non si prevede di limitare questa operazione solo agli operatori con accesso completo ad altre operazioni. È possibile creare più sottoscrizioni o inserirle nella sottoscrizione iniziale.

Registrare i provider di risorse necessari

Assicurarsi di registrare i provider di risorse necessari prima della distribuzione.

Ecco un esempio di come automatizzare la registrazione dei provider di risorse dall'interfaccia della riga di comando di Azure.

    # Replace with the subscription you just created if you access to multiple subscriptions
    $subscriptionName = 'Starter subscription'
    az cloud set -n 'azure.local'
    az login          
    az account set --subscription $subscriptionName
    az provider register --namespace Microsoft.AzureStackHCI
    az provider register --namespace Microsoft.ExtendedLocation
    az provider register --namespace Microsoft.ResourceConnector
    az provider register --namespace Microsoft.EdgeArtifact
    az provider register --namespace Microsoft.KubernetesConfiguration
    az provider register --namespace Microsoft.HybridContainerService

Attendere che tutti i provider di risorse siano nello stato Registrato.

Ecco un comando dell'interfaccia della riga di comando di Azure di esempio per elencare tutti i provider di risorse e i relativi stati.

    az provider list -o table

Annotazioni

È anche possibile registrare o visualizzare gli stati del provider di risorse nel portale locale. A tale scopo, passare alla sottoscrizione, fare clic sulla freccia a discesa per Impostazioni e selezionare Provider di risorse.

Distribuire Azure Local

È ora disponibile un piano di controllo distribuito e configurato, una sottoscrizione e un gruppo di risorse creati per la distribuzione locale di Azure e (facoltativamente) un account di servizio SPN creato per l’automazione della distribuzione.

Verificare la distribuzione prima di creare risorse di Azure locali.

  1. Effettua l'accesso con il root operator definito durante la distribuzione o usa un account proprietario della sottoscrizione.
  2. Da un client con accesso di rete all'Ingress IP, apri il browser e vai su https://portal.<FQDN>. Sostituire <FQDN> con il nome di dominio.
    • Verrete reindirizzati al provider di identità per effettuare l'accesso.
  3. Accedere al provider di identità con le credenziali che hai configurato durante la distribuzione.
    • Nella rete dovrebbe essere visualizzato il portale di Azure funzionante.
  4. Verificare che esista una sottoscrizione per l'infrastruttura locale di Azure( ad esempio, sottoscrizione starter).
  5. Verificare che i provider di risorse necessari siano registrati nella sottoscrizione.
  6. Verificare che esista un gruppo di risorse per l'infrastruttura locale di Azure, ad esempio azurelocal-disconnected-operations.

Inizializzare ogni nodo locale di Azure

Per inizializzare ogni nodo, seguire questa procedura. Modificare laddove necessario in base ai dettagli dell'ambiente:

  1. Impostare la variabile di configurazione. Definire il gruppo di risorse, il nome del cloud, il percorso di configurazione, l'ID applicazione, il segreto client e l'FQDN dell'appliance.

    $resourcegroup = 'azurelocal-disconnected-operations' # Needs to match the cloud name your configured CLI with.
    $applianceCloudName = "azure.local"
    $applianceConfigBasePath = "C:\AzureLocalDisconnectedOperations\"
    $appId = 'guid'
    $clientSecret = 'retracted'
    $applianceFQDN = "autonomous.cloud.private"
    
    
  2. Inizializzare ogni nodo.

    Write-Host "az login to Disconnected operations cloud"    
    az cloud set -n $applianceCloudName --only-show-errors
    Write-Host "Login using service principal"    
    az login --service-principal --username $appId --password $clientSecret --tenant <TenantId>    
    # If you prefer interactive login..
    # Write-Host "Using device code login - complete the login from your browser"
    # az login --use-device-code
    
    Write-Host "Connected to Disconnected operations Cloud through az cli"
    
  3. Ottenere il token di accesso, l'ID account, l'ID sottoscrizione e l'ID tenant.

    $applianceAccessToken = ((az account get-access-token) | ConvertFrom-Json).accessToken
    $applianceAccountId = $(New-Guid).Guid
    $applianceSubscriptionId = ((az account show) | ConvertFrom-Json).id
    $applianceTenantId = ((az account show) | ConvertFrom-Json).tenantId
    
  4. Ottenere i dettagli della configurazione cloud.

    $cloudConfig = (az cloud show --n $applianceCloudName | ConvertFrom-Json)
    
  5. Impostare i parametri di ambiente. Definire i parametri di ambiente usando la configurazione cloud recuperata.

    $applianceEnvironmentParams = @{
    Name                                      = $applianceCloudName
    ActiveDirectoryAuthority                  = $cloudConfig.endpoints.activeDirectory
    ActiveDirectoryServiceEndpointResourceId  = $cloudConfig.endpoints.activeDirectoryResourceId
    GraphEndpoint                             = $cloudConfig.endpoints.activeDirectoryGraphResourceId
    MicrosoftGraphEndpointResourceId          = $cloudConfig.endpoints.microsoftGraphResourceId
    ResourceManagerEndpoint                   = $cloudConfig.endpoints.resourceManager
    StorageEndpoint                           = $cloudConfig.suffixes.storageEndpoint
    AzureKeyVaultDnsSuffix                    = $cloudConfig.suffixes.keyvaultDns
    ContainerRegistryEndpointSuffix           = $cloudConfig.suffixes.acrLoginServerEndpoint
    }
    Add-AzEnvironment @applianceEnvironmentParams -ErrorAction Stop | Out-Null
    Write-Host "Added azure.local Environment"
    
  6. Impostare l'hash di configurazione.

    Write-Host "Setting azure.local configurations"
    $hash = @{
    AccountID        = $applianceAccountId
    ArmAccessToken   = $applianceAccessToken
    Cloud            = $applianceCloudName
    ErrorAction      = 'Stop'
    Region           = 'Autonomous'
    ResourceGroup    = $resourcegroup
    SubscriptionID   = $applianceSubscriptionId
    TenantID         = $applianceTenantId
    CloudFqdn        = $applianceFQDN
    }
    
  7. Abilitare Arc per ogni nodo e installare le estensioni per preparare la distribuzione cloud e la creazione del cluster.

    # Important: This must be run on the first machine (seed node) before running it on other nodes. 
    Invoke-AzStackHciArcInitialization @hash
    Write-Host -Subject 'ARC node configuration completed'
    

    Annotazioni

    Assicurarsi di eseguire l'inizializzazione nel primo computer prima di passare ad altri nodi.

    I nodi vengono visualizzati nel portale locale poco dopo l'esecuzione dei passaggi e le estensioni vengono visualizzate nei nodi qualche minuto dopo l'installazione.

    È anche possibile usare l'app configuratore per inizializzare ogni nodo.

Creare in modo preliminare Azure Keyvault

A causa di un problema noto di Azure Key Vault che può causare ritardi di distribuzione lunghi, creare Azure Key Vault prima di distribuire Azure Local.

Per un esempio di codice per precreare l'Azure Key Vault, vedere Problemi noti

Dopo aver creato il Key Vault, attendere 20 minuti prima di continuare con il passaggio di distribuzione del portale successivo.

Creare l'istanza locale di Azure (cluster)

Dopo aver completato i prerequisiti, è possibile distribuire Azure Local con un piano di controllo locale completamente con disponibilità a aria.

Seguire questa procedura per creare un'istanza locale di Azure (cluster):

  1. Accedere al portale locale da un browser di propria scelta.
  2. Navigare verso portal.FQDN. Ad esempio, https://portal.autonomous.cloud.private
  3. Selezionare i nodi e completare i passaggi di distribuzione descritti in Distribuire Azure localmente usando il portale di Azure.

Annotazioni

Se si crea Azure Key Vault durante la distribuzione, attendere circa 20 minuti per rendere effettive le autorizzazioni di controllo degli accessi in base al ruolo.

Se viene visualizzato un errore di convalida, si tratta di un problema noto. Le autorizzazioni potrebbero ancora essere propagate. Attendere un po', aggiornare il browser e ridistribuire il cluster.

Attività dopo la distribuzione di operazioni disconnesse

Di seguito sono riportate alcune attività da eseguire dopo la distribuzione di Azure Local con operazioni disconnesse:

  1. Eseguire il backup delle chiavi BitLocker (non ignorare questo passaggio). Durante la distribuzione l'appliance è crittografata. Senza le chiavi di ripristino per i volumi, non è possibile ripristinare e restaurare il dispositivo. Per altre informazioni, vedere Informazioni sui controlli di sicurezza con operazioni disconnesse in Locale di Azure.

  2. Assegnare operatori aggiuntivi. È possibile assegnare uno o più operatori passando a Sottoscrizioni operatore. Assegnare il ruolo collaboratore a livello di sottoscrizione.

  3. Esportare i certificati del servizio sorveglianza host e eseguire il backup della cartella in cui esportarli in una condivisione/unità esterna.

Risolvere i problemi e riconfigurare usando l'endpoint di gestione

Per usare l'endpoint di gestione per la risoluzione dei problemi e la riconfigurazione, è necessario l'indirizzo IP di gestione usato durante la distribuzione, insieme al certificato client e alla password usati per proteggere l'endpoint.

Da un client con accesso di rete all'endpoint di gestione, importare OperationsModule e impostare il contesto (modificare lo script in modo che corrisponda alla configurazione):

Import-Module "$applianceConfigBasePath\OperationsModule\Azure.Local.DisconnectedOperations.psd1" -Force

$password = ConvertTo-SecureString 'RETRACTED' -AsPlainText -Force  
$context = Set-DisconnectedOperationsClientContext -ManagementEndpointClientCertificatePath "${env:localappdata}\AzureLocalOpModuleDev\certs\ManagementEndpoint\ManagementEndpointClientAuth.pfx" -ManagementEndpointClientCertificatePassword $password -ManagementEndpointIpAddress "169.254.53.25"  

Dopo aver impostato il contesto, è possibile usare tutti i cmdlet di gestione forniti dal modulo Operazioni, ad esempio la reimpostazione della configurazione dell'identità, il controllo dello stato di integrità e altro ancora.

Per ottenere un elenco completo dei cmdlet forniti, usare PowerShell Get-Command -Module OperationsModule. Per ottenere informazioni dettagliate su ogni cmdlet, usare il Get-Help <cmdletname> comando .

Risoluzione dei problemi: Sistema non configurato

Dopo aver installato l'appliance, è possibile che questa schermata venga visualizzata per un po'. Consentire l'esecuzione della configurazione per 2-3 ore. Dopo aver aspettato 2-3 ore, la schermata viene interrotta e viene visualizzato il normale portale di Azure. Se la schermata non viene visualizzata e non è possibile accedere al portale di Azure locale, risolvere il problema.

Screenshot che mostra che il sistema non è configurato.

  • Per trovare i log da OperationsModule nel primo computer, passare a C:\ProgramData\Microsoft\AzureLocalDisconnectedOperations\Logs.

  • Per visualizzare lo stato di integrità dell'appliance, usare il cmdlet dell'endpoint Get-ApplianceHealthState di gestione. Se viene visualizzata questa schermata e il cmdlet non segnala errori e tutti i servizi segnalano 100, aprire un ticket di supporto dal portale di Azure.

Aggiornare la configurazione dell'appliance ed eseguire di nuovo l'installazione dopo un errore

Se l'installazione non riesce, aggiorna la configurazione e riprova.

Per esempio:

  • Se l'indirizzo IP è già in uso.

    • Modificare l'oggetto di configurazione.

      Ecco un esempio per modificare l'indirizzo IP in ingresso

      # Set a new IP address
      $ingressNetworkConfiguration.IngressIpAddress = '192.168.0.115'
      
  • Se l'appliance di installazione non riesce durante l'installazione.

  • Se la distribuzione dell'appliance ha avuto esito positivo e si sta aggiornando la configurazione di rete, vedere Get-Help Set-Appliance per le impostazioni che è possibile aggiornare dopo la distribuzione.

Questa funzionalità è disponibile solo in Locale di Azure 2506.