Creación de recursos mediante un script de la CLI de Azure
Las tareas complejas o repetitivas pueden llevar mucho tiempo y ser propensas a errores cuando se realizan manualmente. Las organizaciones prefieren automatizar estas tareas para reducir los costos y evitar errores.
La automatización es esencial en el ejemplo de Administración de relaciones con el cliente (CRM) en el que está probando el software en varias máquinas virtuales. Es posible que estas máquinas deban eliminarse y volver a crearse continuamente. El uso de un script de la CLI de Azure para automatizar la creación de máquinas virtuales es mucho más eficaz y confiable que crearlos manualmente una y otra vez.
Además del funcionamiento principal de la creación de una máquina virtual, el script debe cumplir algunos otros requisitos:
- Crear varias máquinas virtuales: Use
az vm create
para crear varias máquinas virtuales con nombre único. - Parámetro del grupo de recursos: Permita que el script acepte el nombre del grupo de recursos como parámetro.
En esta unidad, aprenderá a escribir y ejecutar un script de la CLI de Azure en un entorno de Bash que cumpla estos requisitos.
¿Qué es el script de Bash de la CLI de Azure?
Un script de la CLI de Azure es un archivo de texto que contiene comandos y construcciones de control. El script ejecuta comandos de referencia y las construcciones de control son características de programación como bucles, variables, parámetros, comentarios, etc. proporcionados por Bash.
Los archivos de script Bash de la CLI de Azure tienen una extensión de archivo .sh
. Puede crear y guardar estos archivos mediante cualquier editor de texto.
Una vez creado un script, puede ejecutarlo desde la línea de comandos pasando el nombre del archivo. Precede al nombre de archivo con un punto para el directorio actual y una barra diagonal inversa:
.\myScript.sh
Técnicas de Bash
Bash incluye características que se encuentran normalmente en lenguajes de programación. Para el script en el que se centra en este ejercicio, se usan tres características clave: variables, bucles y parámetros.
Variables
En la CLI de Azure, la asignación de un valor a una variable crea automáticamente la variable. Por ejemplo:
location="eastus"
Para determinar el valor almacenado en una variable, use el prefijo $
y su nombre:
echo $location
Bucles
Bash tiene varias estructuras de bucle, como until
, while
y for
. El bucle for
es una buena elección para escenarios en los que es necesario ejecutar un bucle en un número establecido de valores de una colección.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parámetros
Al crear un script de la CLI de Azure, puede agregar parámetros al script y, a continuación, especificar valores para estos parámetros al ejecutarlo. Por ejemplo:
.\setupEnvironment.sh parameter1 parameter2 parameter3
Dentro del script, capture los valores en variables. En este ejemplo, los parámetros son loopCount y nombre:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
La salida es similar a esta:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Puede usar parámetros como entrada y un bucle para crear un conjunto de máquinas virtuales basadas en los parámetros especificados. Este enfoque mantiene el script genérico y evita repetir el mismo código.
Script de ejemplo
Este es un script de ejemplo que muestra el uso de variables, bucles y parámetros para crear varias máquinas virtuales:
#!/bin/bash
# Assign parameters to variables
vmCount=$1
adminUserPrefix=$2
shift 2
images=("$@")
# Loop
for i in $(seq 1 $vmCount)
do
let "randomIdentifier=$RANDOM*$RANDOM"
resourceGroupName="msdocs-rg-$randomIdentifier"
location="westus"
adminUserName="msdocs-$randomIdentifier"
vmName="msdocs-vm-$randomIdentifier"
vmImage=${images[$((i-1)) % ${#images[@]}]}
echo "Creating VM $vmName on $mvImage 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 \
--admin-username $adminUserName \
--name $vmName \
--image $vmImage \
--generate-ssh-keys
done
Ejecución del script
Guarde el script como msdocs-script.sh
y ejecútelo desde una línea de comandos de Bash, proporcionando los parámetros necesarios:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Con este script, puede crear de forma eficaz varias máquinas virtuales en diferentes grupos de recursos, automatizar tareas repetitivas y garantizar la coherencia en todo el entorno de Azure. En la unidad siguiente, vamos a compilar este script para incluir parámetros adicionales y comprobar si se ha completado correctamente.