Nota
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare ad accedere o modificare le directory.
L'accesso a questa pagina richiede l'autorizzazione. È possibile provare a modificare le directory.
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.
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.
- 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.
- 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. - 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.
- 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:
Scaricare l'ISO locale di Azure (2506 e versioni successive).
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.
In hardware fisico installare firmware e driver come indicato dall'OEM.
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"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
Rinominare ogni nodo in base alle convenzioni di denominazione degli ambienti. Ad esempio, azlocal-n1, azlocal-n2 e azlocal-n3.
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 DIn 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 $applianceRootCertFileCopiare nella cartella APPData/Azure Local e denominarla azureLocalRootCert. Usare queste informazioni durante la distribuzione dell'appliance Arc.
Copy-Item $applianceRootCertFile $($env:APPDATA)\AzureLocal\AzureLocalRootCert.cerIn ogni nodo importare la chiave pubblica nell'archivio locale:
Import-Certificate -FilePath $applianceRootCertFile -CertStoreLocation Cert:\LocalMachine\Root -Confirm:$falseAnnotazioni
Se si usa una radice diversa per il certificato di gestione, ripetere il processo e importare la chiave in ogni nodo.
Installare e configurare l'interfaccia della riga di comando con l'endpoint locale in ogni nodo.
Impostare la variabile di ambiente per supportare le operazioni disconnesse
[Environment]::SetEnvironmentVariable("DISCONNECTED_OPS_SUPPORT", $true, [System.EnvironmentVariableTarget]::Machine)Trovare il primo computer dall'elenco dei nomi dei nodi e specificarlo come da
seednodeusare nel cluster.$seednode = @('azlocal-1', 'azlocal-2','azlocal-3')|Sort|select –first 1 $seednodeAnnotazioni
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:
Modificare il percorso in modo che sia corretto.
Se è stato inizializzato un disco dati o si usa un percorso diverso da C: modificare .
$applianceConfigBasePathEcco un esempio:
$applianceConfigBasePath = 'C:\AzureLocalDisconnectedOperations'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 $applianceConfigBasePathVerificare di avere questi due file nella cartella di base usando il comando seguente:
AzureLocal.DisconnectedOperations.zip
AzureLocal.DisconnectedOperations.manifest
Get-ChildItem $applianceConfigBasePath
Estrarre il file ZIP nella stessa cartella:
Expand-Archive "$($applianceConfigBasePath)\AzureLocal.DisconnectedOperations.zip" -DestinationPath $applianceConfigBasePathVerificare di avere questi tre file usando il comando seguente:
OperationsModule (modulo PowerShell per l'installazione)
IRVM01.zip
AzureLocal.DisconnectedOperations.manifest
Get-ChildItem $applianceConfigBasePathAnnotazioni
A questo punto, rimuovere il
AzureLocal.DisconnectedOperations.zipfile per risparmiare spazio.
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 -recurseVerificare i certificati, la chiave pubblica e l'endpoint di gestione. Devono essere presenti due cartelle:
ManagementEndpointCertseIngressEndpointsCertsalmeno 24 certificati.Get-ChildItem $certsPath Get-ChildItem $certsPath -recurse -filter *.cerInstallare la funzionalità BitLocker, incluso lo strumento di gestione.
Install-WindowsFeature BitLocker -IncludeAllSubFeature -IncludeManagementToolsImportare 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.
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 @mgmtNetworkConfigParamsAnnotazioni
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.
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 @ingressNetworkConfigurationParamsPer informazioni dettagliate sulla configurazione di rete, vedere Rete per le operazioni disconnesse.
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 @identityParamsAnnotazioni
LdapsCertChainInfoeOidcCertChainpossono 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 ilGet-CertificateChainFromEndpointnon 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.
Popolare l'oggetto di configurazione dei certificati esterni.
$ingressCertPassword = "retracted"|ConvertTo-Securestring -AsPlainText -Force $certsParams = @{ certificatesFolder = $ingressCertFolderPath certificatePassword = $ingressCertPassword } $CertificatesConfiguration = New-ApplianceCertificatesConfiguration @certsParamsPer altre informazioni, vedere PKI per le operazioni disconnesse.
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:
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.idDi seguito è riportato un esempio di output:
{ "appId": "<AppId>", "displayName": "azlocalobsapp", "password": "<RETRACTED>", "tenant": "<RETRACTED>" } <subscriptionID>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 $observabilityConfigurationVerificare 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).
- Accedere al portale di Azure locale all'indirizzo https://portal.. Sostituire con il nome di dominio.
- Passare a Sottoscrizioni.
- Seleziona + Aggiungi.
- Per Nome sottoscrizione immettere un nome, ad esempio Sottoscrizione iniziale.
- Seleziona il titolare della sottoscrizione che avrà il ruolo di Proprietario (RBAC) per questa sottoscrizione.
- Per Località lasciare il valore impostato su Autonomo.
- 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:
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>" }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.
- Effettua l'accesso con il root operator definito durante la distribuzione o usa un account proprietario della sottoscrizione.
- 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.
- Accedere al provider di identità con le credenziali che hai configurato durante la distribuzione.
- Nella rete dovrebbe essere visualizzato il portale di Azure funzionante.
- Verificare che esista una sottoscrizione per l'infrastruttura locale di Azure( ad esempio, sottoscrizione starter).
- Verificare che i provider di risorse necessari siano registrati nella sottoscrizione.
- 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:
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"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"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).tenantIdOttenere i dettagli della configurazione cloud.
$cloudConfig = (az cloud show --n $applianceCloudName | ConvertFrom-Json)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"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 }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):
- Accedere al portale locale da un browser di propria scelta.
- Navigare verso
portal.FQDN. Ad esempio,https://portal.autonomous.cloud.private - 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:
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.
Assegnare operatori aggiuntivi. È possibile assegnare uno o più operatori passando a Sottoscrizioni operatore. Assegnare il ruolo collaboratore a livello di sottoscrizione.
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.
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-ApplianceHealthStatedi 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.
- impostare
$installAzureLocalParamsed eseguireInstall-appliancedi nuovo come descritto in Installare e configurare l'appliance.
- impostare
Se la distribuzione dell'appliance ha avuto esito positivo e si sta aggiornando la configurazione di rete, vedere
Get-Help Set-Applianceper le impostazioni che è possibile aggiornare dopo la distribuzione.
Questa funzionalità è disponibile solo in Locale di Azure 2506.