Erstellen von Ressourcen mithilfe eines Azure CLI-Skripts

Abgeschlossen

Komplexe oder sich wiederholende Aufgaben können zeitaufwendig und fehleranfällig sein, wenn sie manuell ausgeführt werden. Organisationen bevorzugen es, diese Aufgaben zu automatisieren, um Kosten zu senken und Fehler zu vermeiden.

Automatisierung ist im CRM-Beispiel (Customer Relationship Management) unerlässlich. In diesem Beispiel testen Sie Ihre Software auf mehreren VMs. Diese VMs müssen möglicherweise kontinuierlich gelöscht und neu erstellt werden. Die Verwendung eines Azure CLI-Skripts zum Automatisieren der VM-Erstellung ist viel effizienter und zuverlässiger als die manuelle Erstellung der VMs.

Bevor Sie eine VM erstellen, muss Ihr Skript einige weitere Voraussetzungen erfüllen:

  • Erstellen von mehreren VMs: Verwenden Sie az vm create, um mehrere eindeutig benannte VMs zu erstellen.
  • Ressourcengruppenparameter: Lassen Sie zu, dass das Skript den Namen der Ressourcengruppe als Parameter akzeptiert.

In dieser Lerneinheit erfahren Sie, wie Sie ein Azure CLI-Skript in einer Bash-Umgebung schreiben und ausführen, das diese Anforderungen erfüllt.

Was ist ein az Azure CLI Bash-Skript?

Ein Azure CLI-Skript ist eine Textdatei, die Befehle und Steuerkonstrukte enthält. Das Skript führt Referenzbefehle aus, und die Steuerkonstrukte sind beispielsweise Programmierfeatures wie Schleifen, Variablen, Parameter und Kommentare, die von Bash bereitgestellt werden.

Azure CLI Bash-Skriptdateien haben die Erweiterung .sh. Sie können diese Dateien mit jedem Text-Editor erstellen und speichern.

Nachdem Sie ein Skript erstellt haben, können Sie es über die Befehlszeile ausführen, indem Sie den Namen der Datei übergeben. Stellen Sie dem Dateinamen einen Punkt für das aktuelle Verzeichnis und einen umgekehrten Schrägstrich voran:

.\myScript.sh

Bash-Verfahren

Bash enthält Features, die häufig in Programmiersprachen zu finden sind. Für das Skript, auf das Sie sich in dieser Übung konzentrieren, verwenden Sie drei wichtige Features: Variablen, Schleifen und Parameter.

Variablen

In Azure CLI wird durch das Zuweisen eines Werts zu einer Variablen automatisch die Variable erstellt. Zum Beispiel:

location="eastus"

Verwenden Sie das Präfix $ und seinen Namen, um den Wert zu ermitteln, der in einer Variable gespeichert ist:

echo $location

Schleifen

Bash verfügt über mehrere Schleifenstrukturen, einschließlich von until, while und for. Die Schleife for ist eine gute Wahl für Szenarien, in denen Sie eine Schleife für eine definierte Anzahl an Werten in einer Auflistung ausführen müssen.

#!/bin/bash
for i in 1 2 3
do
   echo "Loop $i times"
done

Parameter

Wenn Sie ein Azure CLI-Skript erstellen, können Sie dem Skript Parameter hinzufügen und dann beim Ausführen des Skripts Werte für diese Parameter angeben. Zum Beispiel:

.\setupEnvironment.sh parameter1 parameter2 parameter3

Erfassen Sie innerhalb des Skripts die Werte in Variablen. In diesem Beispiel werden die Parameter loopCount und name verwendet:

#!/bin/bash

loopCount=3
name="msdocs"

for i in $(seq 1 $loopCount)
do
    loopName="loop $i for $name"
    echo $loopName
done

Die Ausgabe sieht wie folgt aus:

loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs

Sie können Parameter als Eingabe nutzen und eine Schleife verwenden, um mehrere VMs anhand der angegebenen Parameter zu erstellen. Auf diese Weise bleibt das Skript generisch, und die Wiederholung desselben Codes wird vermieden.

Beispielskript

Hier ist ein Beispielskript, das die Verwendung von Variablen, Schleifen und Parametern zum Erstellen mehrerer VMs veranschaulicht:

#!/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

Ausführen des Skripts

Speichern Sie das Skript unter msdocs-script.sh, und führen Sie es über eine Bash-Befehlszeile aus. Geben Sie dabei die erforderlichen Parameter an:

./msdocs-script.sh 3  Debian11 Debian11 Ubuntu2204

Mithilfe dieses Skripts können Sie mehrere VMs in verschiedenen Ressourcengruppen effizient erstellen, sich wiederholende Aufgaben automatisieren, und die Konsistenz in Ihrer Azure-Umgebung sicherstellen. In der nächsten Einheit erstellen wir dieses Skript, um zusätzliche Parameter einzuschließen und einen erfolgreichen Abschluss zu gewährleisten.