Resources maken met behulp van een Azure CLI-script
Complexe of terugkerende taken kunnen tijdrovend en foutgevoelig zijn wanneer ze handmatig worden uitgevoerd. Organisaties automatiseren deze taken liever om kosten te verlagen en fouten te voorkomen.
Automatisering is essentieel in het CRM-voorbeeld (Customer Relationship Management) waarin u uw software test op meerdere virtuele machines. Deze machines moeten mogelijk continu worden verwijderd en opnieuw worden gemaakt. Het gebruik van een Azure CLI-script om het maken van vm's te automatiseren, is veel efficiƫnter en betrouwbaarder dan ze telkens handmatig te maken.
Naast de kernbewerking van het maken van een VIRTUELE machine moet uw script voldoen aan een aantal andere vereisten:
-
az vm create
te maken. - Resourcegroepparameter: Sta het script toe om de naam van de resourcegroep als parameter te accepteren.
In deze les leert u hoe u een Azure CLI-script schrijft en uitvoert in een Bash-omgeving die voldoet aan deze vereisten.
Wat is az Azure CLI Bash script?
Een Azure CLI-script is een tekstbestand met opdrachten en besturingsconstructies. Het script voert referentieopdrachten uit en de besturingsconstructies zijn programmeerfuncties zoals lussen, variabelen, parameters, opmerkingen, enzovoort.
Azure CLI Bash-scriptbestanden hebben een .sh
bestandsextensie. U kunt deze bestanden maken en opslaan met een teksteditor.
Nadat u een script hebt gemaakt, kunt u het uitvoeren vanaf de opdrachtregel door de naam van het bestand door te geven. Ga vooraf aan de bestandsnaam met een punt voor de huidige map en een backslash:
.\myScript.sh
Bash-technieken
Bash bevat functies die vaak worden gevonden in programmeertalen. Voor het script waarop u zich in deze oefening richt, gebruikt u drie belangrijke functies: variabelen, lussen en parameters.
Variabelen
Als u in Azure CLI een waarde toewijst aan een variabele, wordt de variabele automatisch gemaakt. Voorbeeld:
location="eastus"
Als u de waarde wilt bepalen die is opgeslagen in een variabele, gebruikt u het voorvoegsel en de $
naam ervan:
echo $location
Lussen
Bash heeft verschillende lusstructuren, waaronder until
, while
en for
. De for
lus is een goede keuze voor scenario's waarbij u een lus moet uitvoeren op een bepaald aantal waarden in een verzameling.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parameters
Wanneer u een Azure CLI-script maakt, kunt u parameters toevoegen aan het script en vervolgens waarden voor deze parameters opgeven bij het uitvoeren van het script. Voorbeeld:
.\setupEnvironment.sh parameter1 parameter2 parameter3
Leg in het script de waarden vast in variabelen. In dit voorbeeld zijn de parameters loopCount en de naam:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
De uitvoer ziet er als volgt uit:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
U kunt parameters gebruiken als invoer en een lus om een set virtuele machines te maken op basis van de opgegeven parameters. Met deze methode blijft het script algemeen en wordt voorkomen dat dezelfde code wordt herhaald.
Voorbeeldscript
Hier volgt een voorbeeldscript dat laat zien hoe u variabelen, lussen en parameters gebruikt om meerdere VM's te maken:
#!/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
Het script uitvoeren
Sla het script op als msdocs-script.sh
en voer het uit vanaf een Bash-opdrachtregel, waarbij u de vereiste parameters opgeeft:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Met dit script kunt u efficiƫnt meerdere VM's maken in verschillende resourcegroepen, terugkerende taken automatiseren en consistentie in uw Azure-omgeving garanderen. In de volgende les gaan we dit script uitbouwen om extra parameters op te nemen en te controleren of het is voltooid.