Ejercicio: Creación de recursos mediante un script de la CLI de Azure

Completado

En esta unidad, continuará con el ejemplo de una empresa que desarrolla herramientas de administración de Linux. El objetivo es usar máquinas virtuales Linux (VM) para permitir que los clientes potenciales prueben el software. Con un grupo de recursos ya configurado, es el momento de crear las máquinas virtuales.

Su empresa ha protegido una cabina en una gran feria comercial de Linux. Tiene previsto configurar un área de demostración con tres terminales, cada uno conectado a una máquina virtual Linux independiente. Debe eliminar las máquinas virtuales y volver a crearlas al final de cada día para que empiecen de cero cada mañana. La creación manual de las máquinas virtuales después de un largo día es propensa a errores, por lo que debe escribir un script de la CLI de Azure para automatizar el proceso de creación de la máquina virtual.

Escritura de un script para crear máquinas virtuales

Siga estos pasos para escribir un script en Azure Cloud Shell que automatiza la creación de máquinas virtuales.

Nota:

Normalmente, se autenticaría en Azure con sus credenciales con az login, pero en Cloud Shell ya está autenticado, por lo que este paso no es necesario.

  1. Abra Azure Cloud Shell a través de Azure Portal o mediante el botón Abrir Cloud Shell situado en la esquina superior derecha de muchos bloques de código de la CLI de Azure.

  2. Establecimiento de una suscripción a Azure

    az account set --subscription "my subscription name or ID"
    
  3. Con un editor de texto de su elección, guarde el siguiente script en la unidad local. En este ejemplo, el archivo se denomina msdocs-script-expanded.sh.

    #!/bin/bash
    
    # Assign parameters to variables
    vmCount=$1
    resourceGroupPrefix=$2
    location=$3
    vmNamePrefix=$4
    adminUserPrefix=$5
    shift 5
    images=("$@")
    
    # Loop 
    for i in $(seq 1 $vmCount)
    do
      let "randomIdentifier=$RANDOM*$RANDOM"
      resourceGroupName=$resourceGroupPrefix-$randomIdentifier
      location=westus
      adminUserName=$adminUserPrefix-$randomIdentifier
      vmName=$vmNamePrefix-$randomIdentifier
      vmImage=${images[$((i-1)) % ${#images[@]}]}
    
      echo "Creating VM $vmName on $vmImage with admin $adminUserName in resource group $resourceGroupName"
    
      # create the resource group
      az group create --name $resourceGroupName --location $location
    
      # create the VM
      az vm create \
          --resource-group $resourceGroupName \
          --location $location \
          --name $vmName \
          --generate-ssh-keys \
          --admin-username $adminUserName \
          --image $vmImage
    
    done
    
    
  4. Cargue el archivo en la unidad de Cloud Shell. La manera más fácil es usar la opción de menú Administrar archivos.

Ejecute el script.

  1. Ejecute el script con el siguiente comando:

    #!/bin/bash
    # make your file executable
    chmod +x msdocs-script-expanded.sh
    
    # remove Windows line continuation characters
    sed -i -e 's/\r$//' msdocs-script-expanded.sh
    
    # Run the script
    ./msdocs-script-expanded.sh 3 msdocs-rg eastus2 msdocsvm msdocsadmin Debian11 Debian11 Ubuntu2204  
    
  2. Esperar a que finalicen. El script tarda varios minutos en completarse.

  3. Compruebe las máquinas virtuales. Una vez finalizado el script, compruebe que se completó correctamente enumerando las máquinas virtuales del grupo de recursos:

    az vm list -o table
    

    Debería ver tres máquinas virtuales, cada una con un nombre único y en un grupo de recursos independiente.

Ha creado correctamente un script que automatiza la creación de tres máquinas virtuales, cada una de ellas en un grupo de recursos específico, asegurándose de que están listas para demostraciones diarias en la feria comercial. Aunque el script es corto y sencillo, acelera significativamente un proceso que, de lo contrario, sería lento y propenso a errores si se realiza manualmente a través de Azure Portal.