Share via


Utiliser un plan Terraform pour déployer une machine virtuelle Ubuntu VMware et la connecter à Azure Arc

Cet article propose une aide relative à l’utilisation du plan Terraform fourni pour déployer une machine virtuelle VMware vSphere de serveur Ubuntu et la connecter en tant que ressource de serveur avec Azure Arc.

Prérequis

  1. Clonez le référentiel Azure Arc Jumpstart.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installez ou mettez à jour Azure CLI vers la version 2.7 ou une version ultérieure. Utilisez la commande suivante pour vérifier la version installée actuellement.

    az --version
    
  3. Installer Terraform >= 0.12

  4. Vérifiez que l’utilisateur de vCenter Server dispose des autorisations nécessaires pour déployer une machine virtuelle à partir d’un modèle dans le client web vSphere.

  5. Créez un principal de service Azure.

    Pour connecter la machine virtuelle VMware vSphere à Azure Arc, un principal de service Azure auquel est attribué le rôle Contributeur est requis. Pour le créer, connectez-vous à votre compte Azure et exécutez la commande suivante. Vous pouvez également exécuter cette commande dans 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>"
    

    Par exemple :

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor --scopes "/subscriptions/00000000-0000-0000-0000-000000000000"
    

    La sortie doit ressembler à ceci :

    {
      "appId": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "displayName": "http://AzureArcServers",
      "password": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX",
      "tenant": "XXXXXXXXXXXXXXXXXXXXXXXXXXXX"
    }
    

    Remarque

    Nous vous recommandons vivement d’étendre le principal du service à un abonnement Azure et à un groupe de ressources spécifiques.

Préparation d’un modèle d’ordinateur virtuel VMware vSphere pour serveur Ubuntu

Avant d’utiliser ce guide pour déployer une machine virtuelle de serveur Ubuntu et la connecter à Azure Arc, vous devez disposer d’un modèle VMware vSphere. Cet article explique comment créer facilement un modèle de ce type à l’aide de VMware vSphere 6.5 et ou une version ultérieure.

Remarque

Si vous disposez déjà d’un modèle de machine virtuelle pour serveur Ubuntu, vous devez toujours utiliser le guide comme référence.

Déploiement

Avant d’exécuter le plan Terraform, vous devez définir les variables d’environnement qui seront utilisées par le plan. Ces variables sont basées sur le principal de service Azure que vous venez de créer, votre abonnement Azure et votre locataire, ainsi que vos informations d’identification VMware vSphere.

  1. Récupérez votre ID d’abonnement et votre ID de locataire Azure à l’aide de la commande az account list.

  2. Le plan Terraform crée des ressources à la fois dans Microsoft Azure et dans VMware vSphere. Il exécute ensuite un script sur la machine virtuelle pour installer l’agent Azure Arc et tous les artefacts nécessaires. Ce script nécessite certaines informations sur vos environnements VMware vSphere et Azure. Modifiez scripts/vars.sh et mettez à jour chacune des variables avec les valeurs appropriées.

    • TF_VAR_subscription_id = ID de votre abonnement Azure
    • TF_VAR_client_id = nom de votre principal de service Azure
    • TF_VAR_client_secret = mot de passe de votre principal de service Azure
    • TF_VAR_tenant_id = ID de votre locataire Azure
    • TF_VAR_resourceGroup = nom du groupe de ressources Azure
    • TF_VAR_location = région Azure
    • TF_VAR_vsphere_user = nom d’utilisateur de l’administrateur de vCenter
    • TF_VAR_vsphere_password = mot de passe de l’administrateur de vCenter
    • TF_VAR_vsphere_server = nom de domaine complet/adresse IP de vCenter Server
    • TF_VAR_admin_user = nom d’utilisateur de l’administrateur du système d’exploitation
    • TF_VAR_admin_password = mot de passe de l’administrateur du système d’exploitation
  3. À partir de l’interface CLI, accédez au répertoire azure_arc_servers_jumpstart/vmware/ubuntu/terraform du référentiel cloné.

  4. Exportez les variables d’environnement que vous avez modifiées en exécutant scripts/vars.sh avec la commande source, comme indiqué ci-dessous. Terraform exige que ces variables soient définies pour que le plan s’exécute correctement. Notez que ce script est également exécuté automatiquement à distance sur la machine virtuelle dans le cadre du déploiement Terraform.

    source ./scripts/vars.sh

  5. En plus des variables d’environnement TF_VAR que vous venez d’exporter, modifiez les variables Terraform dans le fichier terraform.tfvars pour qu’elles correspondent à votre environnement VMware vSphere.

    A screenshot of the TF_VAR environment variables

  6. Exécutez la commande terraform init, qui télécharge les fournisseurs Terraform AzureRM , vSphere et local.

    A screenshot of the terraform init command.

  7. Exécutez la commande terraform apply --auto-approve et patientez jusqu’à ce que le plan se termine.

  8. Une fois le déploiement de Terraform terminé, une nouvelle machine virtuelle de serveur Ubuntu sera opérationnelle et sera projetée en tant que ressource de serveur avec Azure Arc dans un groupe de ressources Azure nouvellement créé.

    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.

Suppression du déploiement

  • La méthode la plus simple consiste à supprimer la ressource Azure Arc via le portail Azure, en sélectionnant simplement la ressource et en la supprimant. En outre, supprimez la machine virtuelle VMware vSphere.

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

    Si vous supprimez l’instance manuellement, vous devez également supprimer install_arc_agent.sh, qui est créé par le plan Terraform.

  • Si vous souhaitez désactiver l’ensemble de l’environnement, utilisez la commande terraform destroy --auto-approve comme indiqué ci-dessous.

    A screenshot of the terraform destroy command.