Uso de un plan de Terraform para implementar una máquina virtual de VMware para Ubuntu y conectarla a Azure Arc

En este artículo, se ofrecen instrucciones para usar el plan de Terraform proporcionado para implementar un servidor Ubuntu y una máquina virtual de Vmware vSphere, y conectar la máquina como un recurso de servidor habilitado para Azure Arc.

Prerrequisitos

  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 Terraform >= 0.12

  4. Un usuario de VMware vCenter Server con permisos para implementar una máquina virtual desde una plantilla en el cliente web de vSphere.

  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:

    Recomendamos encarecidamente que limite el ámbito de la entidad de servicio a un grupo de recursos y una suscripción de Azure específicos.

Preparación de una plantilla de máquina virtual de VMware vSphere para un servidor Ubuntu

Antes de usar esta guía para implementar una máquina virtual Ubuntu Server y conectarla a Azure Arc, se requiere una plantilla de VMware vSphere. En este artículo se muestra cómo crear fácilmente esa plantilla con VMware vSphere 6.5 y versiones posteriores.

Nota:

Se recomienda seguir usando la guía como referencia aunque ya se tenga una plantilla de máquina virtual para un servidor Ubuntu.

Implementación

Antes de ejecutar el plan de Terraform, debe establecer las variables de entorno que se usarán en él. Estas variables se basan en la entidad de servicio de Azure que acaba de crear, en su suscripción e inquilino de Azure, y en las credenciales de VMware vSphere.

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

  2. El plan de Terraform crea recursos tanto en Microsoft Azure como en VMware vSphere. Después, ejecuta un script en la máquina virtual para instalar el agente de Azure Arc y todos los artefactos necesarios. Este script requiere determinada información sobre los entornos de VMware vSphere y Azure. Edite scripts/vars.sh y actualice cada una de las variables con los valores adecuados.

    • TF_VAR_subscription_id: identificador de la suscripción de Azure
    • TF_VAR_client_id: nombre de la entidad de servicio de Azure.
    • TF_VAR_client_secret: contraseña de la entidad de servicio de Azure
    • TF_VAR_tenant_id: identificador del inquilino de Azure.
    • TF_VAR_resourceGroup: nombre del grupo de recursos de Azure.
    • TF_VAR_location: región de Azure
    • TF_VAR_vsphere_user: nombre de usuario administrador de vCenter
    • TF_VAR_vsphere_password: contraseña del administrador de vCenter
    • TF_VAR_vsphere_server: nombre de dominio completo o dirección IP de vCenter Server
    • TF_VAR_admin_user: nombre de usuario administrador del sistema operativo
    • TF_VAR_admin_password: contraseña del administrador del sistema operativo
  3. En la CLI, vaya al directorio azure_arc_servers_jumpstart/vmware/ubuntu/terraform del repositorio clonado.

  4. Exporte las variables de entorno que ha editado mediante la ejecución de scripts/vars.sh con el comando source, como se muestra a continuación. Terraform requiere que se establezcan para que el plan se ejecute correctamente. Tenga en cuenta que este script también se ejecutará automáticamente de forma remota en la máquina virtual como parte de la implementación de Terraform.

    source ./scripts/vars.sh

  5. Además de las variables de entorno de TF_VAR que acaba de exportar, edite las variables de Terraform de terraform.tfvars para adaptarlas a su entorno de VMware vSphere.

    A screenshot of the TF_VAR environment variables

  6. Ejecute el comando terraform init, que descargará los proveedores de AzureRM, local y vSphere de Terraform.

    A screenshot of the terraform init command.

  7. Ejecute el comando terraform apply --auto-approve y espere a que finalice el plan.

  8. Una vez completada la implementación de Terraform, habrá una nueva máquina virtual Ubuntu Server en funcionamiento que se proyectará como un recurso de servidor habilitado para Azure Arc en un grupo de recursos de Azure recién creado.

    A screenshot of terraform apply completed.

    A screenshot of a new VMware vSphere Ubuntu server virtual machine.

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

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

Eliminar la implementación

  • La manera más sencilla de eliminar la implementación consiste en eliminar el recurso de Azure Arc mediante Azure Portal; simplemente seleccione el recurso y elimínelo. Además, elimine la máquina virtual VMware vSphere.

    A screenshot of an Azure Arc-enabled server being deleted.

    Si elimina la instancia manualmente, también debe eliminar install_arc_agent.sh, que crea el plan de Terraform.

  • Si desea desmontar todo el entorno, use el comando terraform destroy --auto-approve como se muestra a continuación.

    A screenshot of the terraform destroy command.