Nasazení místní instance Windows serveru hostované službou Vagrant a její připojení ke službě Azure ARCDeploy a local Windows Server instance hosted by Vagrant and connect it to Azure Arc

Následující článek poskytuje pokyny pro nasazení místního virtuálního počítače s Windows 10 pomocí Vagrant a jeho připojení jako prostředku serveru s povoleným obloukem Azure.The following article provides guidance for deploying a local Windows 10 virtual machine using Vagrant and connect it as an Azure Arc enabled server resource.

PožadavkyPrerequisites

  1. Naklonujte úložiště rychlé zprovoznění pro Azure ARC.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Nainstalujte nebo aktualizujte rozhraní příkazového řádku Azure CLI na verzi 2,7 a vyšší.Install or update Azure CLI to version 2.7 and above. Pomocí následujícího příkazu ověřte aktuálně nainstalovanou verzi.Use the following command to check your current installed version.

    az --version
    
  3. Vagrant spoléhá na základní hypervisor.Vagrant relies on an underlying hypervisor. V tomto průvodci budeme používat Oracle VM VirtualBox.For this guide, we will be using Oracle VM VirtualBox.

    1. Nainstalujte VirtualBox.Install VirtualBox.

      • Pokud jste uživatelem macOS, spusťte brew cask install virtualboxIf you are an macOS user, run brew cask install virtualbox
      • Pokud jste uživatelem systému Windows, můžete použít balíček čokoládyIf you are a Windows user, you can use the Chocolatey package
      • Pokud jste uživatelem se systémem Linux, najdete tady všechny metody instalace balíčků.If you are a Linux user, all package installation methods can be found here
    2. Nainstalovat VagrantInstall Vagrant

      • Pokud jste uživatelem macOS, spusťte brew cask install vagrantIf you are an macOS user, run brew cask install vagrant
      • Pokud jste uživatelem systému Windows, můžete použít balíček čokoládyIf you are a Windows user, you can use the Chocolatey package
      • Pokud jste uživatel se systémem Linux, podívejte se sem .If you are a Linux user, look here
  4. Vytvoření instančního objektu AzureCreate an Azure service principal.

    Pokud chcete připojit virtuální počítač Vagrant ke službě Azure ARC, vyžaduje se instanční objekt Azure přiřazený k roli přispěvatele.To connect the Vagrant virtual machine to Azure Arc, an Azure service principal assigned with the Contributor role is required. Pokud ho chcete vytvořit, přihlaste se ke svému účtu Azure a spusťte následující příkaz.To create it, sign in to your Azure account and run the following command. Tento příkaz můžete spustit také v Azure Cloud Shell.You can also run this command in Azure Cloud Shell.

    az login
    az ad sp create-for-rbac -n "<Unique SP Name>" --role contributor
    

    Například:For example:

    az ad sp create-for-rbac -n "http://AzureArcServers" --role contributor
    

    Výstup by měl vypadat takto:Output should look like this:

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

    Poznámka

    Důrazně doporučujeme nastavit obor instančního objektu na konkrétní předplatné Azure a skupinu prostředků.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

  • Vagrantfile spustí skript na operačním systému virtuálních počítačů za účelem instalace všech potřebných artefaktů a vložení proměnných prostředí.The vagrantfile executes a script on the VM OS to install all the needed artifacts and to inject environment variables. Upravte scripts/vars.ps1 skript prostředí PowerShell tak, aby odpovídal objektu služby Azure, který jste vytvořili.Edit the scripts/vars.ps1 PowerShell script to match the Azure service principal you created.

    • subscriptionId = ID vašeho předplatného AzuresubscriptionId = Your Azure subscription ID
    • appId = Váš hlavní název služby AzureappId = Your Azure service principal name
    • password = Vaše heslo instančního objektu služby Azurepassword = Your Azure service principal password
    • tenantId = Vaše ID tenanta AzuretenantId = Your Azure tenant ID
    • resourceGroup = Název skupiny prostředků AzureresourceGroup = Azure resource group name
    • location = Oblast Azurelocation = Azure region

NasazeníDeployment

Podobně jako u jakéhokoli nasazení Vagrant je třeba vagrantfile a Vagrant box .Like any Vagrant deployment, a vagrantfile and a Vagrant box is needed. V nejvyšší úrovni nasazení bude:At a high level, the deployment will:

  • Stažení souboru bitové kopie Windows 10 Vagrant boxDownload the Windows 10 image file Vagrant box
  • Spuštění instalačního skriptu Azure ARCExecute the Azure Arc installation script

Po úpravě scripts/vars.ps1 skriptu, aby odpovídal vašemu prostředí, ze Vagrantfile složky spusťte příkaz vagrant up .After editing the scripts/vars.ps1 script to match your environment, from the Vagrantfile folder, run vagrant up. Vzhledem k tomu, že tento virtuální počítač vytváříte poprvé, bude první spuštění mnohem pomalejší než u těch, které se mají sledovat.As this is the first time you are creating the VM, the first run will be much slower than the ones to follow. Důvodem je to, že nasazení poprvé stahuje okno Windows 10.This is because the deployment is downloading the Windows 10 box for the first time.

Snímek obrazovky s příkazem "Vagrant nahoru".

Po dokončení stahování se spustí aktuální zřizování.Once the download is complete, the actual provisioning will start. Jak je znázorněno na následujícím snímku obrazovky, proces trvá může trvat 7 až 10 minut.As shown in the following screenshot, the process takes can take somewhere between 7 to 10 minutes.

Snímek obrazovky dokončeného příkazu "Vagrant nahoru".

Po dokončení budete mít nasazený místní virtuální počítač s Windows 10, který je připojený jako nový server s podporou ARC Azure v nové skupině prostředků.Upon completion, you will have a local Windows 10 VM deployed, connected as a new Azure Arc enabled server inside a new resource group.

Snímek obrazovky serveru s podporou ARC Azure v Azure Portal.

Snímek obrazovky s podrobnostmi ze serveru s podporou ARC Azure v Azure Portal.

Částečně automatizované nasazení (volitelné)Semi-automated deployment (optional)

Posledním krokem spuštění je registrace virtuálního počítače jako nového prostředku serveru s podporou ARC Azure.The last step of the run is to register the VM as a new Azure Arc enabled server resource.

Další snímek obrazovky dokončeného příkazu "Vagrant nahoru".

Pokud chcete demo nebo řídit skutečný proces registrace, udělejte toto:If you want to demo/control the actual registration process, do the following:

  1. V install_arc_agent powershellovém skriptu přidejte do run connect command části a uložte soubor.In the install_arc_agent PowerShell script, comment out the run connect command section and save the file. Můžete také komentovat nebo měnit vytváření skupiny prostředků.You can also comment out or change the creation of the resource group.

    Snímek obrazovky skriptu PowerShellu install_arc_agent

    Snímek obrazovky s příkazem AZ Group Create

  2. Pomocí příkazu RDP virtuální počítač vagrant rdp .RDP the VM using the vagrant rdp command. Použijte vagrant/vagrant jako uživatelské jméno nebo heslo.Use vagrant/vagrant as the username/password.

    Snímek obrazovky s přístupem k serveru Vagrant s protokolem Vzdálená plocha Microsoft.

  3. Otevřete PowerShell ISE jako správce a upravte C:\runtime\vars.ps1 soubor pomocí proměnných prostředí.Open PowerShell ISE as Administrator and edit the C:\runtime\vars.ps1 file with your environment variables.

    Snímek obrazovky s Integrované skriptovací prostředí (ISE) v prostředí Windows PowerShell.

  4. Vložte Invoke-Expression "C:\runtime\vars.ps1" příkaz, az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId příkaz a stejný azcmagent connect příkaz a spusťte skript.Paste the Invoke-Expression "C:\runtime\vars.ps1" command, the az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId command and the same azcmagent connect command you out and execute the script.

    Snímek obrazovky prostředí PowerShell ISE se spuštěným skriptem.

Odstranit nasazeníDelete the deployment

Pokud chcete odstranit celé nasazení, spusťte vagrant destroy -f příkaz.To delete the entire deployment, run the vagrant destroy -f command. Vagrantfile zahrnuje before: destroy Trigger Vagrant, který spouští příkaz pro odstranění skupiny prostředků Azure před zničením skutečného virtuálního počítače.The vagrantfile includes a before: destroy Vagrant trigger that runs the command to delete the Azure resource group before destroying the actual VM.

Snímek obrazovky s příkazem Vagrant Destroy