Tworzenie zasobów przy użyciu skryptu interfejsu wiersza polecenia platformy Azure
Złożone lub powtarzające się zadania mogą być czasochłonne i podatne na błędy podczas ręcznego wykonywania. Organizacje wolą automatyzować te zadania, aby zmniejszyć koszty i uniknąć błędów.
Automatyzacja jest niezbędna w przykładzie zarządzania relacjami z klientami (CRM), w którym testujesz oprogramowanie na wielu maszynach wirtualnych. Te maszyny mogą wymagać ciągłego usuwania i ponownego tworzenia. Używanie skryptu interfejsu wiersza polecenia platformy Azure do automatyzowania tworzenia maszyn wirtualnych jest znacznie bardziej wydajne i niezawodne niż ręczne tworzenie ich za każdym razem.
Poza podstawową operacją tworzenia maszyny wirtualnej skrypt musi spełniać kilka innych wymagań:
-
Tworzenie wielu maszyn wirtualnych: użyj polecenia
az vm create
, aby utworzyć wiele unikatowych nazwanych maszyn wirtualnych. - Parametr grupy zasobów: zezwól skryptowi na akceptowanie nazwy grupy zasobów jako parametru.
W tej lekcji dowiesz się, jak napisać i wykonać skrypt interfejsu wiersza polecenia platformy Azure w środowisku powłoki Bash, które spełnia te wymagania.
Co to jest az Azure CLI Bash script?
Skrypt interfejsu wiersza polecenia platformy Azure to plik tekstowy zawierający polecenia i konstrukcje sterujące. Skrypt wykonuje polecenia referencyjne, a konstrukcje sterujące to funkcje programowania, takie jak pętle, zmienne, parametry, komentarze itp. dostarczane przez powłokę Bash.
Pliki skryptów powłoki Bash interfejsu wiersza polecenia platformy Azure mają .sh
rozszerzenie pliku. Te pliki można tworzyć i zapisywać przy użyciu dowolnego edytora tekstów.
Po utworzeniu skryptu można go wykonać z poziomu wiersza polecenia, przekazując nazwę pliku. Poprzedzaj nazwę pliku kropką dla bieżącego katalogu i ukośnikiem odwrotnym:
.\myScript.sh
Techniki powłoki Bash
Powłoka Bash zawiera funkcje często spotykane w językach programowania. W przypadku skryptu, na którym koncentrujesz się w tym ćwiczeniu, używasz trzech kluczowych funkcji: zmiennych, pętli i parametrów.
Zmienne
W interfejsie wiersza polecenia platformy Azure przypisywanie wartości do zmiennej powoduje automatyczne utworzenie zmiennej. Na przykład:
location="eastus"
Aby określić wartość przechowywaną w zmiennej, użyj prefiksu $
i jego nazwy:
echo $location
Pętle
Powłoka Bash ma kilka struktur pętli, w tym until
, while
i for
. Pętla for
jest dobrym wyborem w scenariuszach, w których należy wykonać pętlę na określonej liczbie wartości w kolekcji.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parametry
Podczas tworzenia skryptu interfejsu wiersza polecenia platformy Azure można dodać parametry do skryptu, a następnie określić wartości tych parametrów podczas wykonywania skryptu. Na przykład:
.\setupEnvironment.sh parameter1 parameter2 parameter3
Wewnątrz skryptu przechwyć wartości w zmiennych. W tym przykładzie parametry to loopCount i nazwa:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
Dane wyjściowe wyglądają następująco:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Parametry można użyć jako danych wejściowych i pętli, aby utworzyć zestaw maszyn wirtualnych na podstawie podanych parametrów. Takie podejście utrzymuje ogólny skrypt i unika powtarzania tego samego kodu.
Przykładowy skrypt
Oto przykładowy skrypt, który demonstruje używanie zmiennych, pętli i parametrów do tworzenia wielu maszyn wirtualnych:
#!/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
Uruchamianie skryptu
Zapisz skrypt jako msdocs-script.sh
i uruchom go z wiersza polecenia powłoki Bash, podając wymagane parametry:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Za pomocą tego skryptu można wydajnie tworzyć wiele maszyn wirtualnych w różnych grupach zasobów, automatyzować powtarzające się zadania i zapewnić spójność w środowisku platformy Azure. W następnej lekcji skompilujmy ten skrypt, aby uwzględnić dodatkowe parametry i sprawdzić pomyślne ukończenie.