Alıştırma - Azure CLI betiği kullanarak kaynak oluşturma

Tamamlandı

Bu ünitede Linux yönetici araçları geliştiren bir şirket örneğiyle devam edin. Amaç, olası müşterilerin yazılımınızı test etmelerine olanak sağlamak için Linux sanal makinelerini (VM) kullanmaktır. Zaten ayarlanmış bir kaynak grubuyla vm'leri oluşturmanın zamanı geldi.

Şirketiniz büyük bir Linux ticaret fuarında bir standın güvenliğini sağladı. Her birinin ayrı bir Linux VM'sine bağlı üç terminali olan bir tanıtım alanı ayarlamayı planlıyorsunuz. Vm'leri silmeniz ve her günün sonunda yeniden oluşturmanız gerekir, böylece her sabah yeni başlarlar. Uzun bir günün ardından VM'leri el ile oluşturmak hataya açıktır, bu nedenle VM oluşturma işlemini otomatikleştirmek için bir Azure CLI betiği yazmanız gerekir.

Not

Bu alıştırma isteğe bağlıdır. Bu alıştırmayı tamamlamak istiyorsanız başlamadan önce bir Azure aboneliği oluşturmanız gerekir. Azure hesabınız yoksa veya şu anda bir hesap oluşturmak istemiyorsanız, sunulan bilgileri anlamak için yönergeleri okuyabilirsiniz.

Sanal makine oluşturmak için betik yazma

Azure Cloud Shell'de sanal makine oluşturmayı otomatik hale getiren bir betik yazmak için bu adımları izleyin.

Not

Genellikle kimlik bilgilerinizi az loginkullanarak Azure'da kimlik doğrulaması yaparsınız, ancak Cloud Shell'de kimliğiniz zaten doğrulanmıştır, bu nedenle bu adım gereksizdir.

  1. Azure portalı aracılığıyla veya birçok Azure CLI kod bloğunun sağ üst köşesinde bulunan Cloud Shell'i Aç düğmesini kullanarak Azure Cloud Shell'i açın.

  2. Azure aboneliğinizi ayarlama

    az account set --subscription "my subscription name or ID"
    
  3. Tercih edilen bir metin düzenleyicisi kullanarak aşağıdaki betiği yerel sürücünüze kaydedin. Bu örnekte, dosya olarak adlandırılır msdocs-script-expanded.sh.

    #!/bin/bash
    
    # Assign parameters to variables
    vmCount=$1
    resourceGroupPrefix=$2
    location=$3
    vmNamePrefix=$4
    adminUserPrefix=$5
    shift 5
    images=("$@")
    
    # Loop 
    for i in $(seq 1 $vmCount)
    do
      let "randomIdentifier=$RANDOM*$RANDOM"
      resourceGroupName=$resourceGroupPrefix-$randomIdentifier
      location=westus
      adminUserName=$adminUserPrefix-$randomIdentifier
      vmName=$vmNamePrefix-$randomIdentifier
      vmImage=${images[$((i-1)) % ${#images[@]}]}
    
      echo "Creating VM $vmName on $vmImage 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 \
          --name $vmName \
          --generate-ssh-keys \
          --admin-username $adminUserName \
          --image $vmImage
    
    done
    
    
  4. Dosyayı Cloud Shell sürücünüze yükleyin. En kolay yol, Dosyaları yönet menü seçeneğini kullanmaktır.

Betiği çalıştırın

  1. Aşağıdaki komutu kullanarak betiği yürütür:

    #!/bin/bash
    # make your file executable
    chmod +x msdocs-script-expanded.sh
    
    # remove Windows line continuation characters
    sed -i -e 's/\r$//' msdocs-script-expanded.sh
    
    # Run the script
    ./msdocs-script-expanded.sh 3 msdocs-rg eastus2 msdocsvm msdocsadmin Debian11 Debian11 Ubuntu2204  
    
  2. Tamamlanmasını bekleyin. Betiğin tamamlanması birkaç dakika sürer.

  3. VM'leri doğrulayın. Betik tamamlandıktan sonra, kaynak grubundaki VM'leri listeleyerek başarıyla tamamlandığını doğrulayın:

    az vm list -o table
    

    Her birinin benzersiz bir ada ve ayrı bir kaynak grubunda yer alan üç VM görmeniz gerekir.

Her biri belirli bir kaynak grubundaki üç VM'nin oluşturulmasını otomatikleştirerek fuardaki günlük tanıtımlara hazır olmalarını sağlayan bir betik başarıyla oluşturdunuz. Betik kısa ve basit olsa da, Azure portalı aracılığıyla el ile gerçekleştirilirse zaman alıcı ve hataya açık olacak bir işlemi önemli ölçüde hızlandırır.