Condividi tramite


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

  1. Clonare il repository delle risorse introduttive per Azure Arc.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. 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
    
  3. Vagrant è basato su un hypervisor sottostante. Per questa guida si usa Oracle VM VirtualBox.

    1. 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.
    2. 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.
  4. 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.

  5. 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 Azure
    • appId = nome dell'entità servizio di Azure
    • password = password dell'entità servizio di Azure
    • tenantId = ID tenant di Azure
    • resourceGroup = nome del gruppo di risorse di Azure
    • location = 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.

A screenshot of the vagrant up command.

Al termine del download, viene avviato il provisioning. Come illustrato nello screenshot seguente, il processo non richiede più di tre minuti.

A screenshot of a completed vagrant up command.

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.

A screenshot of an Azure Arc-enabled server in the Azure portal.

A screenshot of details from an Azure Arc-enabled server in the Azure portal.

Distribuzione semi-automatizzata (facoltativo)

L'ultimo passaggio consiste nel registrare la macchina virtuale come nuova risorsa server abilitata per Azure Arc.

Another screenshot of the vagrant up command.

Se si vuole dimostrare/controllare il processo di registrazione effettivo, procedere come segue:

  1. Nello script della shell install_arc_agent impostare come commento la sezione run connect command e salvare il file. È anche possibile impostare come commento o modificare la creazione del gruppo di risorse.

    A screenshot of the azcmagent connect command.

    A screenshot of the az group create command.

  2. Stabilire la connettività SSH alla macchina virtuale usando il comando vagrant ssh.

    A screenshot of an SSH key connecting to the Vagrant machine.

  3. Eseguire lo stesso comando azcmagent connect impostato come commento usando le variabili di ambiente.

    Another screenshot of the azcmagent connect command.

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.

A screenshot of the vagrant destroy command.