VMware PowerCLI gebruiken om onboarding van virtuele VMware vSphere Windows Server-machines naar Azure Arc te schalen

Dit artikel bevat richtlijnen voor het gebruik van het opgegeven VMware PowerCLI-script , zodat u een geautomatiseerde, geschaalde implementatie van de met Azure Arc verbonden machineagent kunt uitvoeren op meerdere virtuele VMware vSphere-machines en als gevolg hiervan deze VM's kunt onboarden als servers met Azure Arc.

In deze handleiding wordt ervan uitgegaan dat u al een afsluitinventaris van virtuele VMware-machines hebt en dat u de PowerCLI PowerShell-module gebruikt om het onboardingproces van de VM's naar Azure Arc te automatiseren.

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 of hoger. Gebruik deze opdracht om uw huidige geïnstalleerde versie te controleren:

    az --version

  3. Installeer VMware PowerCLI.

    Notitie

    Deze handleiding is getest met de nieuwste versie van PowerCLI vanaf de datum (12.0.0), maar eerdere versies zullen naar verwachting ook werken

    • Ondersteunde PowerShell-versies: VMware PowerCLI 12.0.0 is compatibel met de volgende PowerShell-versies:
      • Windows PowerShell 5.1

      • PowerShell 7

      • Gedetailleerde installatie-instructies vindt u in PowerCLI installeren, maar de eenvoudigste manier is om de VMware.PowerCLI-module uit de PowerShell-galerie te gebruiken met behulp van de volgende opdracht.

        Install-Module -Name VMware.PowerCLI
        
  4. Als u de VM-inventaris wilt kunnen lezen vanuit vCenter en een script wilt aanroepen op het niveau van het besturingssysteem van de VIRTUELE machine, zijn de volgende machtigingen nodig:

  5. Maak een Azure-service-principal.

    Als u de virtuele VMware vSphere-machine 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.

Automatiseringsstroom

Hieronder vindt u de automatiseringsstroom voor dit scenario:

  1. De gebruiker bewerkt het vars.ps1 PowerCLI-script.

  2. De scale_deploy.ps1 uitvoering van het script start verificatie op basis van vCenter en scant de doel-VM-map waarin de kandidaat-VM's van Azure Arc zich bevinden en kopieert zowel de vars.ps1 Als de PowerCLI-scripts naar het install_azure_arc_agent.ps1 Windows-besturingssysteem van de VM in de azure-arc GitHub-opslagplaats naar elke VIRTUELE machine in die VM-map.

  3. Het install-azure_arc_agent.ps1 PowerCLI-script wordt uitgevoerd op het gastbesturingssysteem van de VM en installeert de met Azure Arc verbonden machineagent om de VIRTUELE machine te onboarden naar Azure Arc.

Voor implementatie

Om de voor en na voor dit scenario te laten zien, tonen de volgende schermopnamen een toegewezen, lege Azure-resourcegroep, een vCenter VM-map met kandidaat-VM's en de weergave Apps & functies in Windows waarop geen agent is geïnstalleerd.

Screenshot of an empty Azure resource group.

A screenshot of a vanilla VMware vSphere virtual machine without an Azure Arc agent.

Another screenshot of a vanilla VMware vSphere virtual machine without an Azure Arc agent.

Implementatie

Voordat u het PowerCLI-script uitvoert, moet u de omgevingsvariabelen instellen die door het install_arc_agent.ps1 script worden gebruikt. Deze variabelen zijn gebaseerd op de Azure-service-principal die u zojuist hebt gemaakt, uw Azure-abonnement en -tenant, en uw VMware vSphere-referenties en -gegevens.

  1. Haal uw Azure-abonnements-id en tenant-id op met behulp van de az account list opdracht

  2. Gebruik de azure-service-principal-id en het wachtwoord die zijn gemaakt in de sectie Vereisten:

    A screenshot of exporting environment variables.

  3. Open PowerShell-sessie vanuit de azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\windows map als beheerder en voer het scale-deploy.ps1 script uit.

    A screenshot of how to scale-deploy with a PowerShell script.

    A second screenshot of how to scale-deploy with a PowerShell script.

    A third screenshot of how to scale-deploy with a PowerShell script.

  4. Na voltooiing wordt op de VM de met Azure Arc verbonden machineagent geïnstalleerd en wordt de Azure-resourcegroep gevuld met de nieuwe servers met Azure Arc.

    A screenshot of a machine with an Azure Arc agent installed.

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

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