Använda VMware PowerCLI för att skala registrering av virtuella VMware vSphere Linux-datorer till Azure Arc

Den här artikeln innehåller vägledning om hur du använder det angivna VMware PowerCLI-skriptet så att du kan utföra en automatiserad skalningsdistribution av Den Azure Arc-anslutna datoragenten på flera virtuella VMware vSphere-datorer och därmed registrera dessa virtuella datorer som en Azure Arc-aktiverad server.

Den här guiden förutsätter att du redan har en slutinventering av virtuella VMware-datorer och använder PowerCLI PowerShell-modulen för att automatisera registreringsprocessen för de virtuella datorerna till Azure Arc.

Förutsättningar

  1. Klona Azure Arc Jumpstart-lagringsplatsen.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Installera eller uppdatera Azure CLI till version 2.7 och senare. Använd följande kommando för att kontrollera den aktuella installerade versionen.

    az --version
    
  3. Installera VMware PowerCLI.

    Kommentar

    Den här guiden testades med den senaste versionen av PowerCLI från och med publiceringen (12.0.0), men tidigare versioner förväntas också fungera.

    • PowerShell-versioner som stöds: VMware PowerCLI 12.0.0 är kompatibelt med följande PowerShell-versioner:
      • Windows PowerShell 5.1

      • PowerShell 7

      • Detaljerade installationsinstruktioner finns i Installera PowerCLI , men det enklaste sättet är att använda modulen VMware.PowerCLI från PowerShell-galleriet med hjälp av följande kommando.

        Install-Module -Name VMware.PowerCLI
        
  4. För att kunna läsa vm-inventeringen från vCenter och anropa ett skript på OS-nivå för den virtuella datorn krävs följande behörigheter:

  5. Skapa ett Huvudnamn för Azure-tjänsten.

    För att ansluta den virtuella VMware vSphere-datorn till Azure Arc krävs ett Huvudnamn för Azure-tjänsten som tilldelats rollen Deltagare. Om du vill skapa det loggar du in på ditt Azure-konto och kör följande kommando. Du kan också köra det här kommandot i 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>"
    

    Till exempel:

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

    Resultatet bör se ut så här:

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

    Kommentar

    Vi rekommenderar starkt att du omfånget tjänstens huvudnamn till en specifik Azure-prenumeration och resursgrupp.

Automationsflöde

Automationsflödet för det här scenariot innehåller följande steg:

  1. Redigera PowerCLI-skriptet vars.ps1 .

  2. Vid körning av scale-deploy.ps1 PowerShell-skriptet:

    • Skriptet genererar automatiskt ett vars.sh gränssnittsskript med användarens Azure-miljövariabler.

    • Skriptkörningen initierar autentisering mot vCenter och genomsöker den virtuella målmappen där virtuella Azure Arc-kandidatdatorer finns och kopierar både de automatiskt genererade vars.sh skripten och gränssnittsskripten install_azure_arc_agent.sh till det virtuella Linux-operativsystemet som finns i /vmware/scaled-deploy/powercli/linux varje virtuell dator i den virtuella datorns mapp.

  3. Shell-skriptet install_azure_arc_agent.sh körs på den virtuella datorns gästoperativsystem och installerar Den Azure Arc-anslutna datoragenten för att kunna registrera den virtuella datorn i Azure Arc.

Fördistribution

För att demonstrera före och efter för det här scenariot visar följande skärmbilder en dedikerad, tom Azure-resursgrupp, en virtuell vCenter-mapp med virtuella kandidatdatorer och /var/opt/ katalogen som inte visar någon agent installerad.

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.

Distribution

Innan du kör PowerCLI-skriptet måste du ange de miljövariabler som ska användas av skriptet install_azure_arc_agent.sh . Dessa variabler baseras på azure-tjänstens huvudnamn som du just har skapat, din Azure-prenumeration och klientorganisation samt dina VMware vSphere-autentiseringsuppgifter och data.

  • Hämta ditt Azure-prenumerations-ID och klient-ID med hjälp av az account list kommandot

  • Använd azure-tjänstens huvudnamns-ID och lösenord som skapades i avsnittet för förhandskrav:

    A screenshot of exporting environment variables.

  • azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\linux Öppna en PowerShell-session som administratör från mappen och kör skriptetscale-deploy.ps1.

    A screenshot of scale_deploy.ps1.

    A second screenshot of scale_deploy.ps1.

    A third screenshot of scale_deploy.ps1.

  • När den virtuella datorn är klar har den Azure Arc-anslutna datoragenten installerad samt Azure-resursgruppen ifylld med de nya Azure Arc-aktiverade servrarna.

    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.