Verwenden von VMware PowerCLI zum Skalieren des Onboardings von VMware vSphere Windows Server-VMs in Azure Arc

Dieser Artikel enthält einen Leitfaden zur Verwendung des bereitgestellten VMware PowerCLI-Skripts, um eine automatisierte skalierte Bereitstellung des Connected Machine-Agents für Azure Arc auf mehreren VMware vSphere-VMs durchzuführen. Durch diesen Vorgang werden diese VMs als Server mit Azure Arc-Unterstützung hinzugefügt.

In dieser Anleitung wird davon ausgegangen, dass Sie bereits über einen bestehenden Bestand an virtuellen VMware-Computern verfügen. Zur Automatisierung des VM-Onboardings in Azure Arc wird das PowerCLI PowerShell-Modul verwendet.

Voraussetzungen

  1. Klonen Sie das Repository für den Schnelleinstieg in Azure Arc.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installieren oder aktualisieren Sie die Azure-Befehlszeilenschnittstelle mindestens auf Version 2.7. Verwenden Sie den folgenden Befehl, um die aktuell installierte Version zu überprüfen:

    az --version

  3. Installieren Sie VMware PowerCLI.

    Hinweis

    Dieser Leitfaden wurde mit der neuesten Version von PowerCLI (Version 12.0.0) getestet, frühere Versionen sollten jedoch ebenfalls funktionieren.

    • Unterstützte PowerShell-Versionen: VMware PowerCLI 12.0.0 ist mit den folgenden PowerShell-Versionen kompatibel:
      • Windows PowerShell 5.1

      • PowerShell 7

      • Ausführliche Installationsanweisungen finden Sie unter Installieren von PowerCLI. Die einfachste Möglichkeit ist jedoch, das Modul „VMware.PowerCLI“ aus dem PowerShell-Katalog mit dem folgenden Befehl zu verwenden.

        Install-Module -Name VMware.PowerCLI
        
  4. Zum Lesen des VM-Bestands aus vCenter und Aufrufen eines Skripts auf VM-Betriebssystemebene sind die folgenden Berechtigungen erforderlich:

  5. Erstellen Sie einen Azure-Dienstprinzipal.

    Um die VMware vSphere-VM mit Azure Arc zu verbinden, ist ein Azure-Dienstprinzipal mit der Rolle „Mitwirkender“ erforderlich. Zum Erstellen dieses Dienstprinzipals melden Sie sich bei Ihrem Azure-Konto an und führen den folgenden Befehl aus. Sie können diesen Befehl auch in Azure Cloud Shell ausführen.

    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>"
    

    Beispiel:

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

    Die Ausgabe sollte wie folgt aussehen:

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

    Hinweis

    Es wird dringend empfohlen, dass Sie für den Dienstprinzipal ein bestimmtes Azure-Abonnement und eine bestimmte Ressourcengruppe festlegen.

Automatisierungsflow

Nachfolgend wird der Automatisierungsflow für dieses Szenario beschrieben:

  1. Der Benutzer bearbeitet das PowerCLI-Skript vars.ps1.

  2. Durch die Ausführung des Skripts scale_deploy.ps1 wird die Authentifizierung bei vCenter initiiert. Außerdem wird der VM-Zielordner überprüft, in dem sich mögliche VMs für Azure Arc befinden. Die PowerCLI-Skripts vars.ps1 und install_azure_arc_agent.ps1 werden auf jede Windows-VM im GitHub-Repository azure-arc in diesem VM-Ordner kopiert.

  3. Das PowerCLI-Skript install-azure_arc_agent.ps1 wird auf dem VM-Gastbetriebssystem ausgeführt. Dieses Skript installiert den Connected Machine-Agent für Azure Arc, um das Onboarding der VM in Azure Arc durchzuführen.

Vor der Bereitstellung

Um die Unterschiede vor und nach dem Ausführen dieser Schritte zu veranschaulichen, zeigen die folgenden Screenshots eine dedizierte leere Azure-Ressourcengruppe, einen vCenter-VM-Ordner mit möglichen VMs und das Verzeichnis Apps und Features unter Windows ohne installierten Agent.

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.

Bereitstellung

Bevor Sie das PowerCLI-Skript ausführen, müssen Sie die Umgebungsvariablen festlegen, die vom install_arc_agent.ps1-Skript verwendet werden. Diese Variablen basieren auf dem Azure-Dienstprinzipal, den Sie soeben erstellt haben, Ihrem Azure-Abonnement und -Mandanten sowie Ihren VMware vSphere-Anmeldeinformationen und -Daten.

  1. Rufen Sie Ihre Azure-Abonnement-ID und Mandanten-ID mithilfe des Befehls az account list ab.

  2. Verwenden Sie die Azure-Dienstprinzipal-ID und das Kennwort, die bzw. das Sie im Abschnitt zu den Voraussetzungen erstellt haben:

    A screenshot of exporting environment variables.

  3. Öffnen Sie im Ordner azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\windows eine PowerShell-Sitzung als Administrator, und führen Sie das Skript scale-deploy.ps1 aus.

    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. Nachdem der Vorgang abgeschlossen ist, ist der Connected Machine-Agent für Azure Arc auf der VM installiert. Außerdem enthält die Azure-Ressourcengruppe die neuen Server mit Azure Arc-Unterstützung.

    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.