Erőforrások létrehozása Azure CLI-szkripttel

Befejeződött

Az összetett vagy ismétlődő feladatok időigényesek és hibalehetőségek lehetnek manuálisan végrehajtva. A szervezetek inkább automatizálják ezeket a feladatokat a költségek csökkentése és a hibák elkerülése érdekében.

Az automatizálás elengedhetetlen az Ügyfélkapcsolat-kezelés (CRM) példában, ahol a szoftvert több virtuális gépen teszteli. Előfordulhat, hogy ezeket a gépeket folyamatosan törölni és újra létre kell hozni. A virtuális gépek létrehozásának automatizálására szolgáló Azure CLI-szkript használata sokkal hatékonyabb és megbízhatóbb, mint minden alkalommal manuálisan létrehozni őket.

A virtuális gép létrehozásának alapműveletén túl a szkriptnek meg kell felelnie néhány egyéb követelménynek:

  • Több virtuális gép létrehozása: Több az vm create egyedi névvel ellátott virtuális gép létrehozása.
  • Erőforráscsoport paramétere: Lehetővé teszi a szkript számára, hogy paraméterként fogadja el az erőforráscsoport nevét.

Ebben a leckében megtudhatja, hogyan írhat és hajthat végre Egy Azure CLI-szkriptet egy Olyan Bash-környezetben, amely megfelel ezeknek a követelményeknek.

Mi az az Azure CLI Bash-szkript?

Az Azure CLI-szkriptek parancsokat és vezérlőszerkezeteket tartalmazó szöveges fájlok. A szkript referenciaparancsokat hajt végre, és a vezérlő szerkezetek olyan programozási funkciók, mint a hurkok, változók, paraméterek, megjegyzések stb.

Az Azure CLI Bash-szkriptfájlok fájlkiterjesztéssel .sh rendelkeznek. Ezeket a fájlokat bármilyen szövegszerkesztővel létrehozhatja és mentheti.

Miután létrehozott egy szkriptet, végrehajthatja a parancssorból a fájl nevének átadásával. Előzze meg a fájlnevet egy ponttal az aktuális könyvtárhoz és egy fordított perjelhez:

.\myScript.sh

Bash-technikák

A Bash a programozási nyelvekben gyakran használt funkciókat tartalmazza. Az ebben a gyakorlatban összpontosító szkripthez három fő funkciót használ: változókat, ciklusokat és paramétereket.

Változók

Az Azure CLI-ben az érték változóhoz való hozzárendelése automatikusan létrehozza a változót. Példa:

location="eastus"

A változóban tárolt érték meghatározásához használja az $ előtagot és a nevét:

echo $location

Hurkok

A Bash több hurokstruktúrával rendelkezik, köztük untila . whilefor A for hurok jó választás olyan helyzetekben, amikor egy ciklust egy gyűjtemény megadott számú értékén kell végrehajtania.

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

Paraméterek

Azure CLI-szkript létrehozásakor paramétereket adhat hozzá a szkripthez, majd a szkript végrehajtásakor megadhatja ezeknek a paramétereknek az értékeit. Példa:

.\setupEnvironment.sh parameter1 parameter2 parameter3

A szkripten belül rögzítse az értékeket változókba. Ebben a példában a paraméterek a loopCount és a név:

#!/bin/bash

loopCount=3
name="msdocs"

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

A kimenet a következőképpen fog kinézni:

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

Paramétereket használhat bemenetként és ciklusként virtuális gépek készletének létrehozásához az adott paraméterek alapján. Ez a módszer általánosan tartja a szkriptet, és nem ismétlődik ugyanaz a kód.

Példaszkript

Íme egy példaszkript, amely azt mutatja be, hogy változók, hurkok és paraméterek használatával hoz létre több virtuális gépet:

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

A szkript futtatása

Mentse a szkriptet, msdocs-script.sh és futtassa egy Bash-parancssorból a szükséges paraméterek megadásával:

./msdocs-script.sh 3  Debian11 Debian11 Ubuntu2204

Ezzel a szkripttel hatékonyan hozhat létre több virtuális gépet különböző erőforráscsoportokban, automatizálhatja az ismétlődő feladatokat, és konzisztenciát biztosíthat az Azure-környezetben. A következő leckében hozzuk létre ezt a szkriptet, hogy további paramétereket is tartalmazzon, és ellenőrizze a sikeres befejezést.