Een lokaal Windows Server-exemplaar implementeren dat wordt gehost door Vagrant en deze verbinden met Azure Arc

Het volgende artikel bevat richtlijnen voor het implementeren van een lokale virtuele Windows 10-machine met behulp van Vagrant en het verbinden als een serverresource met Azure Arc.

Vereisten

  1. Kloon de Azure Arc Jumpstart-opslagplaats.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Azure CLI installeren of bijwerken naar versie 2.7 en hoger. Gebruik de volgende opdracht om uw huidige geïnstalleerde versie te controleren.

    az --version
    
  3. Vagrant is afhankelijk van een onderliggende hypervisor. Voor deze handleiding gebruiken we Oracle VM VirtualBox.

    1. Installeer VirtualBox.

    2. Vagrant installeren

  4. Maak een Azure-service-principal.

    Als u de virtuele machine van Vagrant wilt verbinden met Azure Arc, is een Azure-service-principal vereist die is toegewezen met de rol Inzender. Als u deze wilt maken, meldt u zich aan bij uw Azure-account en voert u de volgende opdracht uit. U kunt deze opdracht ook uitvoeren 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>"
    

    Voorbeeld:

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

    De uitvoer moet er ongeveer als volgt uitzien:

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

    Notitie

    We raden u ten zeerste aan om de service-principal te koppelen aan een specifiek Azure-abonnement en een specifieke resourcegroep.

  • Het vagrantfile voert een script uit op het VM-besturingssysteem om alle benodigde artefacten te installeren en omgevingsvariabelen te injecteren. Bewerk het scripts/vars.ps1 PowerShell-script zodat dit overeenkomt met de Azure-service-principal die u hebt gemaakt.

    • subscriptionId = uw Azure-abonnements-id
    • appId = de naam van uw Azure-service-principal
    • password = wachtwoord voor uw Azure-service-principal
    • tenantId = uw Azure-tenant-id
    • resourceGroup = Naam van Azure-resourcegroep
    • location = Azure-regio

Implementatie

Net als bij elke Vagrant-implementatie is een vagrantfile en een Vagrant-vak nodig. Op hoog niveau zal de implementatie het volgende doen:

  • Download het windows 10-afbeeldingsbestand Vagrant-vak
  • Het Azure Arc-installatiescript uitvoeren

Nadat u het script hebt bewerkt zodat het scripts/vars.ps1 overeenkomt met uw omgeving, voert u vagrant updeze uit vanuit de Vagrantfile map. Omdat dit de eerste keer is dat u de virtuele machine maakt, is de eerste uitvoering veel langzamer dan de uitvoeringen die u moet volgen. Dit komt doordat de implementatie het windows 10-vak voor de eerste keer downloadt.

A screenshot of running the vagrant up command.

Zodra het downloaden is voltooid, wordt de daadwerkelijke inrichting gestart. Zoals wordt weergegeven in de volgende schermopname, duurt het proces ongeveer 7 tot 10 minuten.

A screenshot of a completed vagrant up command.

Notitie

Als u een fout ziet over de controle van intrekking voor het certificaat, voegt u deze configuratie toe aan Vagrantfile:

config.vm.box_download_insecure = true

Na voltooiing hebt u een lokale Virtuele Windows 10-machine geïmplementeerd, verbonden als een nieuwe server met Azure Arc in een nieuwe resourcegroep.

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

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

Semi-geautomatiseerde implementatie (optioneel)

De laatste stap van de uitvoering is het registreren van de VIRTUELE machine als een nieuwe serverresource met Azure Arc.

Another screenshot of a completed vagrant up command.

Als u het daadwerkelijke registratieproces wilt demo/beheren, gaat u als volgt te werk:

  1. Maak in het install_arc_agent PowerShell-script commentaar bij de run connect command sectie en sla het bestand op. U kunt ook opmerkingen maken of het maken van de resourcegroep wijzigen.

    A screenshot of the install_arc_agent PowerShell script.

    A screenshot of the az group create command.

  2. RDP de VM met behulp van de vagrant rdp opdracht. Gebruik vagrant/vagrant deze optie als gebruikersnaam/wachtwoord.

    A screenshot of accessing a Vagrant server with the Microsoft Remote Desktop Protocol.

  3. Open PowerShell ISE als Beheer istrator en bewerk het C:\runtime\vars.ps1 bestand met uw omgevingsvariabelen.

    A screenshot of Windows PowerShell ISE.

  4. Plak de Invoke-Expression C:\runtime\vars.ps1 opdracht, de az group create --location $env:location --name $env:resourceGroup --subscription $env:subscriptionId opdracht en dezelfde azcmagent connect opdracht die u uit en voer het script uit.

    A screenshot of PowerShell ISE running a script.

De implementatie verwijderen

Als u de hele implementatie wilt verwijderen, voert u de vagrant destroy -f opdracht uit. Het vagrantfile bevat een before: destroy Vagrant-trigger waarmee de opdracht wordt uitgevoerd om de Azure-resourcegroep te verwijderen voordat de werkelijke VM wordt vernietigd.

A screenshot of the vagrant destroy command.