Distribuire un server Ubuntu locale ospitato con Vagrant e connetterlo ad Azure Arc
Questo articolo fornisce indicazioni per la distribuzione di una macchina virtuale Ubuntu 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 artefatti necessari e inserire le variabili di ambiente. Modificare lo script della shell
scripts/vars.sh
affinché 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 pacchetto Vagrant box del file di immagine Ubuntu 16.04
- Esegue lo script di installazione
Dopo aver modificato lo script scripts/vars.sh
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, perché la distribuzione sta scaricando il box Ubuntu per la prima volta.
Al termine del download, viene avviato il provisioning. Come illustrato nello screenshot seguente, il processo non richiede più di tre minuti.
Al termine, sarà presente una macchina virtuale Ubuntu locale distribuita e connessa come nuovo server abilitato per Azure Arc all'interno di un nuovo gruppo di risorse.
Distribuzione semi-automatizzata (facoltativo)
L'ultimo passaggio consiste nel registrare la macchina virtuale come nuova risorsa server abilitata per Azure Arc.
Se si vuole dimostrare/controllare il processo di registrazione effettivo, procedere come segue:
Nello script della shell
install_arc_agent
impostare come commento la sezionerun connect command
e salvare il file. È anche possibile impostare come commento o modificare la creazione del gruppo di risorse.Stabilire la connettività SSH alla macchina virtuale usando il comando
vagrant ssh
.Eseguire lo stesso comando
azcmagent connect
impostato come commento usando le variabili di ambiente.
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 eseguirà uno script 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