Déployer une instance locale de Windows Server hébergée par Vagrant et la connecter à Azure Arc
L’article suivant propose une aide au déploiement d’une machine virtuelle locale Windows 10 à l’aide de Vagrant et à sa connexion en tant que ressource serveur compatible avec Azure Arc.
Prérequis
Clonez le référentiel Azure Arc Jumpstart.
git clone https://github.com/microsoft/azure_arc.git
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
Vagrant s’appuie sur un hyperviseur sous-jacent. Pour ce guide, nous utilisons Oracle VM VirtualBox.
Installez VirtualBox.
- Si vous êtes un utilisateur macOS, exécutez
brew cask install virtualbox
- Si vous êtes un utilisateur Windows, vous pouvez utiliser le package Chocolatey
- Si vous êtes un utilisateur Linux, vous trouverez toutes les méthodes d’installation de packages dans Télécharger VirtualBox pour Les hôtes Linux.
- Si vous êtes un utilisateur macOS, exécutez
Installez Vagrant.
- Si vous êtes un utilisateur macOS, exécutez
brew cask install vagrant
- Si vous êtes un utilisateur Windows, vous pouvez utiliser le package Chocolatey
- Si vous êtes un utilisateur Linux, visitez la page de téléchargement de Vagrant.
- Si vous êtes un utilisateur macOS, exécutez
Créez un principal de service Azure.
Pour connecter la machine virtuelle Vagrant à 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.
Le vagrantfile exécute un script sur le système d’exploitation de la machine virtuelle pour installer tous les artefacts nécessaires et injecter des variables d’environnement. Modifiez le script PowerShell
scripts/vars.ps1
pour qu’il corresponde au principal de service Azure que vous avez créé.subscriptionId
= ID de votre abonnement AzureappId
= nom de votre principal de service Azurepassword
= mot de passe de votre principal de service AzuretenantId
= ID de votre locataire AzureresourceGroup
= nom du groupe de ressources Azurelocation
= région Azure
Déploiement
Comme tout déploiement Vagrant, un vagrantfile et une box Vagrant sont nécessaires. À un niveau élevé, le déploiement :
- téléchargera la box Vagrant du fichier image Windows 10 ;
- exécutera le script d’installation d’Azure Arc.
Après avoir modifié le script scripts/vars.ps1
pour qu’il corresponde à votre environnement, à partir du dossier Vagrantfile
, exécutez vagrant up
. Comme c’est la première fois que vous créez la machine virtuelle, la première exécution sera beaucoup plus lente que celles qui suivront. Cela est dû au fait que le déploiement télécharge la box Windows 10 pour la première fois.
Une fois le téléchargement terminé, l’approvisionnement réel démarre. Comme indiqué dans la capture d’écran suivante, le processus prend entre 7 et 10 minutes.
Remarque
Si vous voyez une erreur concernant la vérification de la révocation du certificat, ajoutez cette configuration à Vagrantfile
:
config.vm.box_download_insecure = true
Une fois l’opération terminée, une machine virtuelle locale Windows 10 sera déployée et connectée en tant que nouveau serveur Azure Arc au sein d’un nouveau groupe de ressources.
Déploiement semi-automatisé (facultatif)
La dernière étape de l’exécution consiste à inscrire la machine virtuelle en tant que nouvelle ressource de serveur avec Azure Arc.
Si vous souhaitez contrôler le processus d’inscription proprement dit ou en voir une démonstration, procédez comme suit :
Dans le script PowerShell
install_arc_agent
, commentez la sectionrun connect command
et enregistrez le fichier. Vous pouvez également commenter ou modifier la création du groupe de ressources.Activez le protocole RDP sur la machine virtuelle à l’aide de la commande
vagrant rdp
. Utilisezvagrant/vagrant
comme nom d’utilisateur et mot de passe.Ouvrez PowerShell ISE en tant qu’administrateur et modifiez le fichier
C:\runtime\vars.ps1
avec vos variables d’environnement.Collez la commande
Invoke-Expression C:\runtime\vars.ps1
, la commandeaz group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId
et la même commandeazcmagent connect
que vous avez commentée, puis exécutez le script.
Suppression du déploiement
Pour supprimer l’intégralité du déploiement, exécutez la commande vagrant destroy -f
. Le vagrantfile comprend un déclencheur Vagrant before: destroy
qui exécute la commande pour supprimer le groupe de ressources Azure avant de détruire la machine virtuelle réelle.
Commentaires
https://aka.ms/ContentUserFeedback.
Bientôt disponible : Tout au long de 2024, nous allons supprimer progressivement GitHub Issues comme mécanisme de commentaires pour le contenu et le remplacer par un nouveau système de commentaires. Pour plus d’informations, consultezEnvoyer et afficher des commentaires pour