Esercizio - Creare risorse usando uno script dell'interfaccia della riga di comando di Azure
In questa unità si continuerà con l'esempio di un'azienda che sviluppa strumenti di amministrazione per Linux. L'obiettivo è usare macchine virtuali Linux per consentire ai potenziali clienti di testare il software. Con un gruppo di risorse già configurato, è possibile creare le macchine virtuali.
L'azienda ha protetto uno stand in una grande fiera di Linux. Si prevede di configurare un'area demo con tre terminali, ognuno connesso a una macchina virtuale Linux separata. È necessario eliminare le macchine virtuali e ricrearle alla fine di ogni giorno in modo che inizino a essere aggiornate ogni mattina. La creazione manuale delle macchine virtuali dopo un lungo giorno è soggetta a errori, quindi è necessario scrivere uno script dell'interfaccia della riga di comando di Azure per automatizzare il processo di creazione della macchina virtuale.
Scrivere uno script per creare macchine virtuali
Seguire questa procedura per scrivere uno script in Azure Cloud Shell che automatizza la creazione di macchine virtuali.
Nota
In genere, si esegue l'autenticazione in Azure usando le credenziali con az login
, ma in Cloud Shell si è già autenticati, quindi questo passaggio non è necessario.
Aprire Azure Cloud Shell tramite il portale di Azure o usando il pulsante Apri Cloud Shell nell'angolo in alto a destra di molti blocchi di codice dell'interfaccia della riga di comando di Azure.
Configurare la sottoscrizione di Azure
az account set --subscription "my subscription name or ID"
Usando un editor di testo preferito, salvare lo script seguente nell'unità locale. In questo esempio il file è denominato
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
Caricare il file nell'unità Cloud Shell. Il modo più semplice consiste nell'usare l'opzione di menu Gestisci file .
Eseguire lo script
Eseguire lo script usando il comando seguente:
#!/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
Attesa del completamento. Il completamento dello script richiede alcuni minuti.
Verificare le macchine virtuali. Al termine dello script, verificare che sia stato completato elencando le macchine virtuali nel gruppo di risorse:
az vm list -o table
Dovrebbero essere visualizzate tre macchine virtuali, ognuna con un nome univoco e in un gruppo di risorse separato.
È stato creato uno script che automatizza la creazione di tre macchine virtuali, ognuna in un gruppo di risorse specifico, assicurandosi che siano pronte per demo giornaliere alla fiera. Anche se lo script è breve e semplice, accelera notevolmente un processo che altrimenti richiederebbe molto tempo e sarebbe soggetto a errori se eseguito manualmente tramite il portale di Azure.