Övning – Skapa resurser med ett Azure CLI-skript

Slutförd

I den här lektionen fortsätter du med exemplet på ett företag som utvecklar Linux-administratörsverktyg. Målet är att använda virtuella Linux-datorer (VM) för att tillåta potentiella kunder att testa din programvara. När en resursgrupp redan har konfigurerats är det dags att skapa de virtuella datorerna.

Ditt företag säkrade en monter på en stor Linux-mässa. Du planerar att konfigurera ett demoområde med tre terminaler som var och en är ansluten till en separat virtuell Linux-dator. Du måste ta bort de virtuella datorerna och återskapa dem i slutet av varje dag så att de börjar om varje morgon. Att skapa de virtuella datorerna manuellt efter en lång dag är felbenäget, så du måste skriva ett Azure CLI-skript för att automatisera processen för att skapa virtuella datorer.

Skriva ett skript för att skapa virtuella datorer

Följ de här stegen för att skriva ett skript i Azure Cloud Shell som automatiserar skapandet av virtuella datorer.

Kommentar

Vanligtvis autentiserar du till Azure med dina autentiseringsuppgifter med az login, men i Cloud Shell är du redan autentiserad, så det här steget är onödigt.

  1. Öppna Azure Cloud Shell via Azure Portal eller med knappen Öppna Cloud Shell längst upp till höger i många Azure CLI-kodblock.

  2. Ange din Azure-prenumeration

    az account set --subscription "my subscription name or ID"
    
  3. Spara följande skript på din lokala enhet med valfri textredigerare. I det här exemplet heter msdocs-script-expanded.shfilen .

    #!/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. Ladda upp filen till Din Cloud Shell-enhet. Det enklaste sättet är att använda menyalternativet Hantera filer .

Kör skriptet

  1. Kör skriptet med följande kommando:

    #!/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. Vänta tills det är klart. Det tar flera minuter att slutföra skriptet.

  3. Verifiera de virtuella datorerna. När skriptet är klart kontrollerar du att det har slutförts genom att visa en lista över de virtuella datorerna i resursgruppen:

    az vm list -o table
    

    Du bör se tre virtuella datorer, var och en med ett unikt namn och i en separat resursgrupp.

Du har skapat ett skript som automatiserar skapandet av tre virtuella datorer, var och en i en specifik resursgrupp, vilket säkerställer att de är redo för dagliga demonstrationer på mässan. Även om skriptet är kort och enkelt, påskyndar det avsevärt en process som annars skulle vara tidskrävande och felbenägen om den utförs manuellt via Azure Portal.