Utilize VMware PowerCLI para escalar máquinas virtuais VMware vSphere Windows Server para Azure ArcUse VMware PowerCLI to scale onboarding VMware vSphere Windows Server virtual machines to Azure Arc

Este artigo fornece orientações para a utilização do script VMware PowerCLI fornecido para que possa executar uma implementação em escala automatizada do agente de máquinas ligado a Azure Arc em várias máquinas virtuais VMware vSphere e, consequentemente, a bordo destes VMs como servidores ativados pelo Arco Azure.This article provides guidance for using the provided VMware PowerCLI script so you can perform an automated scaled deployment of the Azure Arc connected machine agent in multiple VMware vSphere virtual machines and as a result, onboarding these VMs as an Azure Arc enabled servers.

Este guia pressupõe que já tem um inventário de saída de máquinas virtuais VMware e utilizará o módulo PowerCLI PowerShell para automatizar o processo de embarque dos VMs para O Arco Azure.This guide assumes you already have an exiting inventory of VMware virtual machines and will use the PowerCLI PowerShell module to automate the onboarding process of the VMs to Azure Arc.

Pré-requisitosPrerequisites

  1. Clone o repositório Azure Arc Jumpstart.Clone the Azure Arc Jumpstart repository.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Instale ou atualize o CLI do Azure para a versão 2.7 e superior.Install or update Azure CLI to version 2.7 and above.. Utilize o seguinte comando para verificar a sua versão instalada atual.Use the following command to check your current installed version.

    az --version
    
  3. Instale o VMware PowerCLI.Install VMware PowerCLI.

    Nota

    Este guia foi testado com a versão mais recente do PowerCLI a partir da data (12.0.0), mas espera-se que as versões anteriores também funcionemThis guide was tested with the latest version of PowerCLI as of date (12.0.0) but earlier versions are expected to work as well

    • Versões PowerShell suportadas: VMware PowerCLI 12.0.0 é compatível com as seguintes versões PowerShell:Supported PowerShell versions: VMware PowerCLI 12.0.0 is compatible with the following PowerShell versions:
      • Windows PowerShell 5.1Windows PowerShell 5.1

      • PowerShell 7PowerShell 7

      • As instruções de instalação detalhadas podem ser encontradas aqui, mas a maneira mais fácil é utilizar o módulo VMware.PowerCLI da galeria PowerShell utilizando o seguinte comando.Detailed installation instructions can be found here but the easiest way is to use the VMware.PowerCLI module from the PowerShell gallery using the following command.

        Install-Module -Name VMware.PowerCLI
        
  4. Para poder ler o inventário VM do vCenter, bem como invocar um script no nível de VM OS, são necessárias as seguintes permissões:To be able to read the VM inventory from vCenter as well as invoke a script on the VM OS-level, the following permissions are needed:

  5. Criar um diretor de serviço Azure.Create an Azure service principal.

    Para ligar a máquina virtual VMware vSphere ao Azure Arc, é necessário um principal de serviço Azure atribuído com a função Contribuinte.To connect the VMware vSphere virtual machine to Azure Arc, an Azure service principal assigned with the Contributor role is required. Para criá-lo, inscreva-se na sua conta Azure e execute o seguinte comando.To create it, sign in to your Azure account and run the following command. Também pode executar este comando em 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
    

    Por exemplo:For example:

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

    A saída deve ser assim:Output should look like this:

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

    Nota

    Recomendamos vivamente que se encate o principal do serviço a um grupo específico de subscrição e recursos da Azure.We highly recommend that you scope the service principal to a specific Azure subscription and resource group.

Fluxo de automatizaçãoAutomation flow

Abaixo pode encontrar o fluxo de automatização para este cenário:Below you can find the automation flow for this scenario:

  1. O utilizador edita o vars.ps1 script PowerCLI.User edit the vars.ps1 PowerCLI script.

  2. A scale_deploy.ps1 execução do script iniciará a autenticação contra o vCenter e digitalizará a pasta VM direcionada onde estão localizados os VMs candidatos a Azure Arc e copiará as vars.ps1 scripts e as install_azure_arc_agent.ps1 scripts PowerCLI para VM Windows OS localizadas nesta pasta para cada VM nessa pasta VM.The scale_deploy.ps1 script execution will initiate authentication against vCenter and will scan the targeted VM folder where Azure Arc candidate VMs are located and will copy both the vars.ps1 and the install_azure_arc_agent.ps1 PowerCLI scripts to VM Windows OS located in this folder to each VM in that VM folder.

  3. O install-azure_arc_agent.ps1 script PowerCLI será executado no os convidado vM e instalará o agente de máquina ligado a Azure Arc para embarcar no VM para O Arco AzureThe install-azure_arc_agent.ps1 PowerCLI script will run on the VM guest OS and will install the Azure Arc connected machine agent in order to onboard the VM to Azure Arc

Pré-implementaçãoPredeployment

Para demonstrar o antes e o depois deste cenário, as imagens abaixo mostram um grupo de recursos Azure dedicado e vazio, uma pasta VM vCenter com VMs de candidato e as funcionalidades & aplicações visualizam no Windows que não mostra que nenhum agente esteja instalado.To demonstrate the before and after for this scenario, the below screenshots shows a dedicated, empty Azure resource group, a vCenter VM folder with candidate VMs and the Apps & features view in Windows showing no agent is installed.

Screenshot de um grupo de recursos Azure vazio.

Uma imagem de uma máquina virtual VMware vSphere de baunilha sem um agente Azure Arc.

Outra imagem de uma máquina virtual VMware vSphere de baunilha sem um agente Azure Arc.

ImplementaçãoDeployment

Antes de executar o script PowerCLI, deve definir as variáveis ambientais que serão utilizadas pelo install_arc_agent.ps1 script.Before running the PowerCLI script, you must set the environment variables which will be used by the install_arc_agent.ps1 script. Estas variáveis baseiam-se no principal do serviço Azure que acaba de criar, na sua subscrição e inquilino Azure, e nas suas credenciais e dados VMware vSphere.These variables are based on the Azure service principal you've just created, your Azure subscription and tenant, and your VMware vSphere credentials and data.

  1. Recupere o seu ID de assinatura Azure e iD do inquilino usando o az account list comandoRetrieve your Azure subscription ID and tenant ID using the az account list command

  2. Utilize o ID principal do serviço Azure e a palavra-passe criada na secção pré-requisitos:Use the Azure service principal ID and password created in the prerequisites section:

    Uma imagem de variáveis ambientais exportadoras.

  3. A partir da azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\windows pasta, abra a sessão PowerShell como administrador e execute o scale-deploy.ps1 script.From the azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\windows folder, open PowerShell session as an administrator and run the scale-deploy.ps1 script.

    Uma imagem de como ser implantado em escala com um script PowerShell.

    Uma segunda imagem de como ser implantado em escala com um script PowerShell.

    Uma terceira imagem de como ser implantado em escala com um script PowerShell.

  4. Após a conclusão, o VM terá o agente de máquinas ligado a Azure Arc instalado, bem como o grupo de recursos Azure, povoado com os novos servidores ativados do Arco Azure.Upon completion, the VM will have the Azure Arc connected machine agent installed as well as the Azure resource group populated with the new Azure Arc enabled servers.

    Uma imagem de uma máquina com um Agente Azure Arc instalado.

    Uma imagem do novo Azure Arc permitiu servidores num grupo de recursos Azure.

    Outra imagem do novo Azure Arc permitiu servidores num grupo de recursos Azure.