Oefening: resources maken met behulp van een Azure CLI-script

Voltooid

In deze les gaat u verder met het voorbeeld van een bedrijf dat Linux-beheerhulpprogramma's ontwikkelt. Het doel is om virtuele Linux-machines (VM's) te gebruiken zodat potentiƫle klanten uw software kunnen testen. Nu een resourcegroep al is ingesteld, is het tijd om de VIRTUELE machines te maken.

Uw bedrijf heeft een stand beveiligd op een grote Linux-beurs. U bent van plan een demogebied in te stellen met drie terminals, elk verbonden met een afzonderlijke Linux-VM. U moet de VM's verwijderen en deze aan het einde van elke dag opnieuw maken, zodat ze elke ochtend vers beginnen. Het handmatig maken van de VM's na een lange dag is foutgevoelig. U moet dus een Azure CLI-script schrijven om het proces voor het maken van de VIRTUELE machine te automatiseren.

Een script schrijven om virtuele machines te maken

Volg deze stappen om een script te schrijven in Azure Cloud Shell waarmee het maken van virtuele machines wordt geautomatiseerd.

Notitie

Normaal gesproken verifieert u zich bij Azure met behulp van uw referenties, az loginmaar in Cloud Shell bent u al geverifieerd. Deze stap is dus niet nodig.

  1. Open Azure Cloud Shell via Azure Portal of gebruik de knop Cloud Shell openen in de rechterbovenhoek van veel Azure CLI-codeblokken.

  2. Uw Azure-abonnement instellen

    az account set --subscription "my subscription name or ID"
    
  3. Sla het volgende script op uw lokale station op met behulp van een teksteditor. In dit voorbeeld heeft het bestand de naam 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. Upload het bestand naar uw Cloud Shell-station. De eenvoudigste manier is om de menuoptie Bestanden beheren te gebruiken.

Het script uitvoeren

  1. Voer het script uit met behulp van de volgende opdracht:

    #!/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. Wacht op voltooiing. Het uitvoeren van het script duurt enkele minuten.

  3. Controleer de VM's. Zodra het script is voltooid, controleert u of het is voltooid door de VM's in de resourcegroep weer te geven:

    az vm list -o table
    

    U ziet drie VM's, elk met een unieke naam en in een afzonderlijke resourcegroep.

U hebt een script gemaakt waarmee het maken van drie VM's, elk in een specifieke resourcegroep, wordt geautomatiseerd, zodat deze klaar zijn voor dagelijkse demo's op de beurs. Hoewel het script kort en eenvoudig is, versnelt het een proces dat anders tijdrovend en foutgevoelig zou zijn als het handmatig wordt uitgevoerd via Azure Portal.