Azure CLI betiği kullanarak kaynak oluşturma
Karmaşık veya yinelenen görevler el ile gerçekleştirildiğinde zaman alabilir ve hataya açık olabilir. Kuruluşlar maliyetleri azaltmak ve hatalardan kaçınmak için bu görevleri otomatikleştirmeyi tercih eder.
Otomasyon, yazılımınızı birden çok sanal makinede test ettiğiniz Müşteri İlişkileri Yönetimi (CRM) örneğinde önemlidir. Bu makinelerin sürekli olarak silinmesi ve yeniden oluşturulması gerekebilir. VM oluşturmayı otomatikleştirmek için Azure CLI betiği kullanmak, bunları her seferinde el ile oluşturmaktan çok daha verimli ve güvenilirdir.
Sanal makine oluşturma işleminin ötesinde, betiğinizin diğer birkaç gereksinimi karşılaması gerekir:
-
Birden çok VM oluşturma: Benzersiz olarak adlandırılmış birden çok VM oluşturmak için kullanın
az vm create. - Kaynak grubu parametresi: Betiğin kaynak grubunun adını parametre olarak kabul etmesine izin verin.
Bu ünitede, bu gereksinimleri karşılayan bir Bash ortamında Azure CLI betiği yazmayı ve yürütmeyi öğreneceksiniz.
az Azure CLI Bash betiği nedir?
Azure CLI betiği, komutları ve denetim yapılarını içeren bir metin dosyasıdır. Betik başvuru komutlarını yürütür ve denetim yapıları Bash tarafından sağlanan döngüler, değişkenler, parametreler, açıklamalar vb. programlama özellikleridir.
Azure CLI Bash betik dosyalarının dosya .sh uzantısı vardır. Bu dosyaları herhangi bir metin düzenleyicisini kullanarak oluşturabilir ve kaydedebilirsiniz.
Bir betik oluşturduktan sonra, dosyanın adını geçirerek komut satırından yürütebilirsiniz. Dosya adının önüne geçerli dizin için bir nokta ve ters eğik çizgi koyun:
.\myScript.sh
Bash teknikleri
Bash, programlama dillerinde yaygın olarak bulunan özellikleri içerir. Bu alıştırmada odaklandığınız betik için üç temel özellik kullanıyorsunuz: değişkenler, döngüler ve parametreler.
Değişkenler
Azure CLI'da bir değişkene değer atamak değişkeni otomatik olarak oluşturur. Örneğin:
location="eastus"
Bir değişkende depolanan değeri belirlemek için ön ekini $ ve adını kullanın:
echo $location
Döngüler
Bash' in , untilve whilegibi forçeşitli döngü yapıları vardır. Döngü for , bir koleksiyondaki belirli sayıda değer üzerinde döngü yürütmeniz gereken senaryolar için iyi bir seçimdir.
#!/bin/bash
for i in 1 2 3
do
echo "Loop $i times"
done
Parametreler
Azure CLI betiği oluşturduğunuzda betike parametreler ekleyebilir ve betiği yürütürken bu parametreler için değerler belirtebilirsiniz. Örneğin:
.\setupEnvironment.sh parameter1 parameter2 parameter3
Betiğin içinde değerleri değişkenler halinde yakalayın. Bu örnekte, parametreler loopCount ve name şeklindedir:
#!/bin/bash
loopCount=3
name="msdocs"
for i in $(seq 1 $loopCount)
do
loopName="loop $i for $name"
echo $loopName
done
Çıkış şuna benzer:
loop 1 for msdocs
loop 2 for msdocs
loop 3 for msdocs
Verilen parametreleri temel alan bir vm kümesi oluşturmak için giriş ve döngü olarak parametreleri kullanabilirsiniz. Bu yaklaşım betiği genel tutar ve aynı kodun yinelenmesinden kaçınıyor.
Örnek betik
Birden çok VM oluşturmak için değişkenleri, döngüleri ve parametreleri kullanmayı gösteren örnek bir betik aşağıda verilmiştir:
#!/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
Betiği yürütme
Betiği farklı msdocs-script.sh kaydedin ve bash komut satırından çalıştırarak gerekli parametreleri sağlayın:
./msdocs-script.sh 3 Debian11 Debian11 Ubuntu2204
Bu betiği kullanarak farklı kaynak gruplarında verimli bir şekilde birden çok VM oluşturabilir, yinelenen görevleri otomatikleştirebilir ve Azure ortamınızda tutarlılık sağlayabilirsiniz. Bir sonraki ünitede ek parametreler eklemek için bu betiği derleyelim ve başarıyla tamamlanıp tamamlanmayışına bakalım.