Übung: Erstellen von Ressourcen mithilfe eines Azure CLI-Skripts

Abgeschlossen

In dieser Lerneinheit fahren Sie mit dem Beispiel eines Unternehmens fort, das Linux-Verwaltungstools entwickelt. Ziel ist es, virtuelle Linux-Computer (Linux-VMs) zu verwenden, um potenziellen Kunden das Testen Ihrer Software zu ermöglichen. Wenn eine Ressourcengruppe bereits eingerichtet ist, ist es an der Zeit, die virtuellen Computer zu erstellen.

Ihr Unternehmen hat auf einer großen Linux-Messe einen Stand gebucht. Sie planen, einen Demobereich mit drei Terminals einzurichten, die jeweils mit einer separaten Linux-VM verbunden sind. Sie müssen die VMs löschen und am Ende jedes Tages neu erstellen, damit sie jeden Morgen neu verfügbar sind. Das manuelle Erstellen der VMs nach einem langen Tag ist fehleranfällig, daher müssen Sie ein Azure CLI-Skript schreiben, um den VM-Erstellungsprozess zu automatisieren.

Schreiben eines Skripts zum Erstellen von virtuellen Computern

Führen Sie die folgenden Schritte aus, um ein Skript in Azure Cloud Shell zu schreiben, das die Erstellung virtueller Computer automatisiert.

Hinweis

In der Regel authentifizieren Sie sich bei Azure mit Ihren Anmeldeinformationen mit az login, aber in Cloud Shell sind Sie bereits authentifiziert, sodass dieser Schritt unnötig ist.

  1. Öffnen Sie Azure Cloud Shell über das Azure-Portal oder mithilfe der Schaltfläche Cloud Shell öffnen in der oberen rechten Ecke vieler Azure CLI-Codeblöcke.

  2. Festlegen Ihres Azure-Abonnements

    az account set --subscription "my subscription name or ID"
    
  3. Speichern Sie das folgende Skript mithilfe eines Text-Editors Ihrer Wahl auf Ihrem lokalen Laufwerk. In diesem Beispiel weist die Datei den Namen msdocs-script-expanded.sh auf.

    #!/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. Laden Sie die Datei auf Ihr Cloud Shell-Laufwerk hoch. Die einfachste Möglichkeit besteht darin, die Menüoption Dateien verwalten zu verwenden.

Ausführen des Skripts

  1. Führen Sie das Skript mit dem folgenden Befehl aus:

    #!/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. Warten auf den Abschluss. Die Skriptausführung kann einige Minuten dauern.

  3. Überprüfen Sie die virtuellen Computer. Überprüfen Sie nach Abschluss des Skripts, ob es erfolgreich abgeschlossen wurde, indem Sie die VMs in der Ressourcengruppe auflisten:

    az vm list -o table
    

    Es sollten drei virtuelle Computer jeweils mit einem eindeutigen Namen und in einer separaten Ressourcengruppe angezeigt werden.

Sie haben erfolgreich ein Skript erstellt, das die Erstellung von drei virtuellen Computern automatisiert, die jeweils in einer bestimmten Ressourcengruppe enthalten sind. Auf diese Weise können Sie sicherstellen, dass sie für die täglichen Demos auf der Messe bereit sind. Obwohl das Skript kurz und unkompliziert ist, beschleunigt es einen Prozess erheblich, der andernfalls zeitaufwändig und fehleranfällig wäre, wenn es manuell über das Azure-Portal ausgeführt wird.