Condividi tramite


Usare un piano di Terraform per distribuire una macchina virtuale VMware Ubuntu e connetterla ad Azure Arc

Questo articolo fornisce indicazioni per l'uso del piano di Terraform fornito per distribuire un server Ubuntu, ovvero una macchina virtuale VMware vSphere, e connetterlo 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. Installare Terraform >= 0.12

  4. Un utente di VMware vCenter Server con le autorizzazioni per distribuire una macchina virtuale da un modello nel client Web vSphere.

  5. Creare un'entità servizio di Azure.

    Per connettere la macchina virtuale VMware vSphere ad Azure Arc, è necessario disporre di un'entità servizio di Azure 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.

Preparazione di un modello di VM VMware vSphere di tipo server Ubuntu

Prima di usare questa guida per distribuire una VM di tipo server Ubuntu e connetterla ad Azure Arc, è necessario avere un modello di VMware vSphere. Questo articolo illustra come creare facilmente un modello di questo tipo usando VMware vSphere 6.5 e versioni successive.

Nota

Se è già disponibile un modello di VM di tipo server Ubuntu, è comunque consigliabile seguire questa guida come riferimento.

Distribuzione

Prima di eseguire il piano di Terraform, è necessario impostare le variabili di ambiente che verranno usate. Queste variabili si basano sull'entità servizio di Azure appena creata, sulla sottoscrizione e sul tenant di Azure, nonché sulle credenziali VMware vSphere.

  1. Recuperare gli ID della sottoscrizione e del tenant di Azure usando il comando az account list.

  2. Il piano di Terraform crea risorse sia in Microsoft Azure sia in VMware vSphere. Esegue quindi uno script nella macchina virtuale per installare l'agente di Azure Arc e tutti gli artefatti necessari. Questo script richiede determinate informazioni sugli ambienti VMware vSphere e Azure in uso. Modificare scripts/vars.sh e aggiornare ciascuna variabile con i valori appropriati.

    • TF_VAR_subscription_id = ID sottoscrizione di Azure
    • TF_VAR_client_id = nome dell'entità servizio di Azure
    • TF_VAR_client_secret = password dell'entità servizio di Azure
    • TF_VAR_tenant_id = ID tenant di Azure
    • TF_VAR_resourceGroup = nome del gruppo di risorse di Azure
    • TF_VAR_location = area di Azure
    • TF_VAR_vsphere_user = nome utente amministratore di vCenter
    • TF_VAR_vsphere_password = password amministratore di vCenter
    • TF_VAR_vsphere_server = FQDN/IP del server vCenter
    • TF_VAR_admin_user = nome utente amministratore del sistema operativo
    • TF_VAR_admin_password = password amministratore del sistema operativo
  3. Nell'interfaccia della riga di comando passare alla directory azure_arc_servers_jumpstart/vmware/ubuntu/terraform del repository clonato.

  4. Esportare le variabili di ambiente modificate eseguendo scripts/vars.sh con il comando source, come illustrato di seguito. Terraform ne richiede l'impostazione per il corretto funzionamento del piano. Questo script verrà eseguito automaticamente anche in remoto nella macchina virtuale nell'ambito della distribuzione di Terraform.

    source ./scripts/vars.sh

  5. Oltre alle variabili di ambiente di TF_VAR appena esportate, modificare le variabili di Terraform nel file terraform.tfvars in modo che corrispondano all'ambiente VMware vSphere in uso.

    A screenshot of the TF_VAR environment variables

  6. Eseguire il comando terraform init per scaricare i provider AzureRM, locale e vSphere di Terraform.

    A screenshot of the terraform init command.

  7. Eseguire il comando terraform apply --auto-approve e attendere il completamento del piano.

  8. Al termine della distribuzione di Terraform, una nuova macchina virtuale di tipo server Ubuntu sarà in esecuzione e verrà proiettata come risorsa server abilitata per Azure Arc in un gruppo di risorse di Azure appena creato.

    A screenshot of terraform apply completed.

    A screenshot of a new VMware vSphere Ubuntu server virtual machine.

    A screenshot of an Azure Arc-enabled server in an Azure resource group.

    Another screenshot of an Azure Arc-enabled server in an Azure resource group.

Eliminare la distribuzione

  • Il modo più semplice consiste nell'eliminare la risorsa Azure Arc tramite il portale di Azure. Basta selezionare la risorsa ed eliminarla. Eliminare anche la macchina virtuale VMware vSphere.

    A screenshot of an Azure Arc-enabled server being deleted.

    Se si elimina l'istanza manualmente, è necessario eliminare anche install_arc_agent.sh, che viene creato dal piano di Terraform.

  • Se si vuole eliminare l'intero ambiente, usare il comando terraform destroy --auto-approve come illustrato di seguito.

    A screenshot of the terraform destroy command.