Vytváření prostředků pomocí skriptu Azure CLI

Dokončeno

Složité nebo opakující se úlohy můžou být časově náročné a náchylné k chybám při ručním provedení. Organizace raději tyto úlohy automatizují, aby snížily náklady a vyhnuly se chybám.

Automatizace je nezbytná v příkladu správy vztahů se zákazníky (CRM), ve kterém testujete software na více virtuálních počítačích. Tyto počítače může být potřeba průběžně odstraňovat a znovu vytvářet. Použití skriptu Azure CLI k automatizaci vytváření virtuálních počítačů je mnohem efektivnější a spolehlivější než ruční vytváření pokaždé.

Kromě základní operace vytvoření virtuálního počítače musí váš skript splňovat několik dalších požadavků:

  • Vytvoření několika virtuálních počítačů: Slouží az vm create k vytvoření několika jedinečně pojmenovaných virtuálních počítačů.
  • Parametr skupiny prostředků: Umožňuje skriptu přijmout název skupiny prostředků jako parametr.

V této lekci se naučíte psát a spouštět skript Azure CLI v prostředí Bash, které splňuje tyto požadavky.

Co je az Azure CLI Bash script?

Skript Azure CLI je textový soubor obsahující příkazy a konstrukty ovládacích prvků. Skript spouští referenční příkazy a konstrukty ovládacích prvků jsou programovací funkce, jako jsou smyčky, proměnné, parametry, komentáře atd. dodané prostředím Bash.

Soubory skriptů Azure CLI Bash mají příponu .sh souboru. Tyto soubory můžete vytvořit a uložit pomocí libovolného textového editoru.

Po vytvoření skriptu ho můžete spustit z příkazového řádku předáním názvu souboru. Před název souboru zadejte tečku pro aktuální adresář a zpětné lomítko:

.\myScript.sh

Techniky Bash

Bash obsahuje běžně používané funkce v programovacích jazycích. Pro skript, na který se zaměřujete v tomto cvičení, používáte tři klíčové funkce: proměnné, smyčky a parametry.

Proměnné

V Azure CLI přiřazování hodnoty proměnné automaticky vytvoří proměnnou. Příklad:

location="eastus"

Pokud chcete určit hodnotu uloženou v proměnné, použijte předponu $ a její název:

echo $location

Smyčky

Bash má několik struktur smyčky, včetně until, whilea for. Smyčka for je dobrou volbou pro scénáře, ve kterých potřebujete spustit smyčku nad nastaveným počtem hodnot v kolekci.

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

Parametry

Při vytváření skriptu Azure CLI můžete do skriptu přidat parametry a při spuštění skriptu zadat hodnoty těchto parametrů. Příklad:

.\setupEnvironment.sh parameter1 parameter2 parameter3

Uvnitř skriptu zachyťte hodnoty do proměnných. V tomto příkladu jsou parametry loopCount a name:

#!/bin/bash

loopCount=3
name="msdocs"

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

Výstup vypadá takto:

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

Parametry můžete použít jako vstup a smyčku k vytvoření sady virtuálních počítačů na základě daných parametrů. Tento přístup zachová obecný skript a vyhne se opakování stejného kódu.

Ukázkový skript

Tady je ukázkový skript, který ukazuje použití proměnných, smyček a parametrů k vytvoření několika virtuálních počítačů:

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

Spuštění skriptu

Uložte skript jako msdocs-script.sh a spusťte ho z příkazového řádku Bash a zadejte požadované parametry:

./msdocs-script.sh 3  Debian11 Debian11 Ubuntu2204

Pomocí tohoto skriptu můžete efektivně vytvářet několik virtuálních počítačů v různých skupinách prostředků, automatizovat opakující se úlohy a zajistit konzistenci v celém prostředí Azure. V další lekci sestavíme tento skript, abychom zahrnuli další parametry a zkontrolovali úspěšné dokončení.