Share via


Uso de VMware PowerCLI para escalar la incorporación de máquinas virtuales Linux de VMware vSphere a Azure Arc

En este artículo, se proporcionan instrucciones sobre el uso del script de VMware PowerCLI proporcionado para que pueda realizar una implementación escalada automatizada del agente de máquina conectada a Azure Arc en varias máquinas virtuales VMware vSphere y, como resultado, incorporar estas máquinas virtuales como servidores habilitados para Azure Arc.

En esta guía se da por supuesto que ya tiene un inventario de máquinas virtuales de VMware y que usará el módulo PowerCLI de PowerShell para automatizar el proceso de incorporación de las máquinas virtuales a Azure Arc.

Requisitos previos

  1. Clone el repositorio Jumpstart de Azure Arc.

    git clone https://github.com/microsoft/azure_arc.git
    
  2. Instale o actualice la CLI de Azure a la versión 2.7 y superior. Use el siguiente comando para comprobar la versión instalada actual.

    az --version
    
  3. Instale VMware PowerCLI.

    Nota:

    Esta guía se probó con la versión más reciente de PowerCLI en la fecha de publicación (12.0.0), pero también se espera que funcione con versiones anteriores.

    • Versiones compatibles de PowerShell: VMware PowerCLI 12.0.0 es compatible con las siguientes versiones de PowerShell:
      • Windows PowerShell 5.1

      • PowerShell 7

      • En Instalación de PowerCLI, encontrará instrucciones de instalación detalladas, pero la manera más fácil es usar el módulo VMware.PowerCLI de la galería de PowerShell mediante el siguiente comando.

        Install-Module -Name VMware.PowerCLI
        
  4. Para poder leer el inventario de máquinas virtuales desde vCenter, así como para invocar un script en el nivel de sistema operativo de la máquina virtual, se necesitan los siguientes permisos:

  5. Cree una entidad de servicio de Azure.

    Para conectar la máquina virtual de VMware vSphere a Azure Arc, se necesita una entidad de servicio de Azure que tenga asignado el rol de colaborador. Para crearla, inicie sesión en su cuenta de Azure y ejecute el siguiente comando. También puede ejecutar este comando en 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>"
    

    Por ejemplo:

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

    El resultado debe ser similar al siguiente:

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

    Nota:

    Se recomienda encarecidamente que el ámbito de la entidad de servicio se establezca en un grupo de recursos y una suscripción de Azure específicos.

Flujo de automatización

El flujo de automatización para este escenario incluye estos pasos:

  1. Edite el script de PowerCLI vars.ps1.

  2. Tras la ejecución del script de PowerShell scale-deploy.ps1:

    • El script generará automáticamente un script de shell vars.sh con las variables de entorno de Azure del usuario.

    • La ejecución del script iniciará la autenticación en vCenter, examinará la carpeta de máquinas virtuales de destino en la que se encuentran las máquinas virtuales de Azure Arc candidatas y copiará los scripts de shell vars.sh y install_azure_arc_agent.sh generados automáticamente en el sistema operativo Linux de máquina virtual ubicado en /vmware/scaled-deploy/powercli/linux en cada máquina virtual de esa carpeta de máquinas virtuales.

  3. El script de shell install_azure_arc_agent.sh se ejecutará en el sistema operativo invitado de la máquina virtual e instalará el agente de máquina conectada a Azure Arc para incorporar la máquina virtual a Azure Arc.

Antes de la implementación

Para demostrar el antes y el después de este escenario, en las capturas de pantalla siguientes se muestra un grupo de recursos de Azure dedicado y vacío, una carpeta de máquinas virtuales de vCenter con las máquinas virtuales candidatas y el directorio /var/opt/, que muestra que no hay ningún agente instalado.

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.

Implementación

Antes de ejecutar el script de PowerCLI, debe establecer las variables de entorno que usará el script install_azure_arc_agent.sh. Estas variables se basan en la entidad de servicio de Azure que acaba de crear, en la suscripción y el inquilino de Azure y en las credenciales y los datos de VMware vSphere.

  • Recupere el identificador de suscripción y el identificador de inquilino de Azure mediante el comando az account list.

  • Use el identificador y la contraseña de la entidad de servicio de Azure que creó en la sección de requisitos previos:

    A screenshot of exporting environment variables.

  • En la carpeta azure_arc_servers_jumpstart\vmware\scaled-deploy\powercli\linux, abra una sesión de PowerShell como administrador y ejecute el script scale-deploy.ps1.

    A screenshot of scale_deploy.ps1.

    A second screenshot of scale_deploy.ps1.

    A third screenshot of scale_deploy.ps1.

  • Finalizado el proceso, la máquina virtual tendrá instalado el agente de máquina conectada de Azure Arc y el grupo de recursos de Azure se habrá rellenado con los nuevos servidores habilitados para 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.