Distribuire un'istanza di Windows Server locale ospitata da Vagrant e connetterla a Azure Arc
L'articolo seguente fornisce indicazioni per la distribuzione di una macchina virtuale Windows 10 locale usando Vagrant e la connette come risorsa server abilitata per Azure Arc.
Prerequisiti
Clonare il repository delle risorse introduttive per Azure Arc.
git clone https://github.com/microsoft/azure_arc.git
Installare l'interfaccia della riga di comando di Azure 2.7 e successive o eseguirne l'aggiornamento a tale versione. Usare il comando seguente per verificare l'attuale versione installata.
az --version
Vagrant è basato su un hypervisor sottostante. Per questa guida si usa Oracle VM VirtualBox.
Installare VirtualBox.
- Se si è un utente macOS, eseguire
brew cask install virtualbox
- Se sei un utente di Windows, puoi usare il pacchetto Chocolatey
- Se si è un utente Linux, tutti i metodi di installazione dei pacchetti sono disponibili in Download VirtualBox per gli host Linux.
- Se si è un utente macOS, eseguire
Installare Vagrant
- Se si è un utente macOS, eseguire
brew cask install vagrant
- Se sei un utente di Windows, puoi usare il pacchetto Chocolatey
- Se si è un utente Linux, visitare la pagina di download di Vagrant.
- Se si è un utente macOS, eseguire
Creare un'entità servizio di Azure.
Per connettere la macchina virtuale Vagrant ad Azure Arc, è necessario disporre di un'entità servizio di Azure assegnata con il ruolo Collaboratore. Per crearla, accedere al proprio account Azure ed eseguire il comando seguente. È possibile eseguire il comando anche in Azure Cloud Shell.
az login az account set -s <Your Subscription ID> az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor --scopes "/subscriptions/<Your Subscription ID>"
Ad esempio:
az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
L'output dovrebbe essere simile al seguente:
{ "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "displayName": "http://AzureArcServers", "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX", "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX" }
Nota
È consigliabile impostare l'ambito dell'entità servizio su una sottoscrizione e un gruppo di risorse di Azure specifici.
Il file di Vagrant esegue uno script nel sistema operativo della macchina virtuale per installare tutti gli elementi necessari e inserire le variabili di ambiente. Modificare lo script di PowerShell
scripts/vars.ps1
in modo che corrisponda all'entità servizio di Azure creata.subscriptionId
= ID sottoscrizione di AzureappId
= nome dell'entità servizio di Azurepassword
= password dell'entità servizio di AzuretenantId
= ID tenant di AzureresourceGroup
= nome del gruppo di risorse di Azurelocation
= area di Azure
Distribuzione
Come qualsiasi distribuzione di Vagrant, sono necessari un file vagrantfile e un pacchetto Vagrant box. A livello generale, la distribuzione:
- Scarica il file di immagine di Windows10 di Vagrant box
- Esegue lo script di installazione di Azure Arc
Dopo aver modificato lo script scripts/vars.ps1
affinché corrisponda all'ambiente, eseguire vagrant up
dalla cartella Vagrantfile
. Poiché questa è la prima volta che si crea la macchina virtuale, la prima esecuzione sarà molto più lenta di quelle successive. Questo perché la distribuzione sta scaricando la box di Windows 10 per la prima volta.
Al termine del download, viene avviato il provisioning effettivo. Come illustrato nello screenshot seguente, il processo richiede da 7 a 10 minuti.
Nota
Se viene visualizzato un errore relativo al controllo della revoca per il certificato, aggiungere questa configurazione a Vagrantfile
:
config.vm.box_download_insecure = true
Al termine, si avrà una macchina virtuale Windows 10 locale distribuita, connessa come nuovo server abilitato per Azure Arc all'interno di un nuovo gruppo di risorse.
Distribuzione semi-automatizzata (facoltativo)
L'ultimo passaggio dell'esecuzione consiste nel registrare la macchina virtuale come nuova risorsa del server abilitata per Azure Arc.
Se si vuole dimostrare/controllare il processo di registrazione effettivo, procedere come segue:
Nel modello di script
install_arc_agent
di PowerShell impostare come commento la sezionerun connect command
e salvare il file. È anche possibile impostare come commento o modificare la creazione del gruppo di risorse.Collegare la macchina virtuale con RDP usando il comando
vagrant rdp
. Usarevagrant/vagrant
come nome utente/password.Aprire PowerShell ISE come amministratore e modificare il file
C:\runtime\vars.ps1
con le variabili di ambiente.Incollare il comando
Invoke-Expression C:\runtime\vars.ps1
, il comandoaz group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId
e lo stesso comandoazcmagent connect
ed eseguire lo script.
Eliminare la distribuzione
Per eliminare l'intera distribuzione, eseguire il comando vagrant destroy -f
. Il file vagrantfile include un trigger before: destroy
di Vagrant che esegue il comando per eliminare il gruppo di risorse di Azure prima di eliminare definitivamente la macchina virtuale effettiva.
Commenti e suggerimenti
https://aka.ms/ContentUserFeedback.
Presto disponibile: Nel corso del 2024 verranno gradualmente disattivati i problemi di GitHub come meccanismo di feedback per il contenuto e ciò verrà sostituito con un nuovo sistema di feedback. Per altre informazioni, vedereInvia e visualizza il feedback per