Alıştırma - Azure PowerShell’de betik oluşturma ve kaydetme

Tamamlandı

Bu ünitede Linux yönetici araçları oluşturan bir şirket örneğiyle devam edersiniz. Olası müşterilerin yazılımınızı test etmesini sağlamak için Linux VM’lerini kullanmayı planladığınızı varsayalım. Hazır bir kaynak grubunuz var ve şimdi VM'leri oluşturmanın zamanı geldi.

Şirketiniz büyük bir Linux ticaret fuarında bir stand için ödeme yaptı. Her biri ayrı bir Linux VM’sine bağlı üç terminal içeren bir tanıtım alanı planlıyorsunuz. Her günün sonunda, vm'leri silmek ve her sabah yeni bir başlangıç yapmak için yeniden oluşturmak istersiniz. Yorgun olduğunuzda vm'leri işten sonra el ile oluşturmak hataya neden olabilir. VM oluşturma işlemini otomatikleştirmek için bir PowerShell betiği yazmak istiyorsunuz.

Sanal makine oluşturmak için betik yazma

Betiği yazmak için sağdaki Cloud Shell'de şu adımları izleyin:

  1. Cloud Shell'de giriş klasörünüze geçin.

    cd $HOME\clouddrive
    
  2. ConferenceDailyReset.ps1 adlı yeni bir metin dosyası oluşturun.

    touch "./ConferenceDailyReset.ps1"
    
  3. Tümleşik düzenleyiciyi açın ve ConferenceDailyReset.ps1 dosyasını seçin.

    code "./ConferenceDailyReset.ps1"
    

    Bahşiş

    Tümleşik Cloud Shell ayrıca, kullanmayı tercih ederseniz vim, nano ve emacs desteği de sağlar.

  4. Bir değişkendeki giriş parametresini yakalayarak başlayın. Betiğinize aşağıdaki satırı ekleyin.

    param([string]$resourceGroup)
    

    Dekont

    Normalde kullanarak kimlik bilgilerinizi Connect-AzAccountkullanarak Azure'da kimlik doğrulaması yapmanız gerekir ve bunu betikte yapabilirsiniz. Ancak Cloud Shell ortamında kimliğiniz zaten doğrulanmıştır, bu nedenle bu gerekli değildir.

  5. VM’nin yönetici hesabı için kullanıcı adı ve parola isteme, sonucu bir değişkende yakalama:

    $adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."
    
  6. Üç kez yürütülen bir döngü oluşturun:

    For ($i = 1; $i -le 3; $i++) 
    {
    
    }
    
  7. Döngü gövdesinde, her VM için bir ad oluşturun, bir değişkende depolayın ve konsola çıkışını yapın:

    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    
  8. Daha sonra, $vmName değişkenini kullanarak VM oluşturun:

    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest
    
  9. Dosyayı kaydedin. "..." menüsünü seçin. Kaydet için Ctrl + S gibi ortak hızlandırıcı tuşları da vardır.

Tamamlanan betik aşağıdaki kod gibi görünmelidir:

param([string]$resourceGroup)

$adminCredential = Get-Credential -Message "Enter a username and password for the VM administrator."

For ($i = 1; $i -le 3; $i++)
{
    $vmName = "ConferenceDemo" + $i
    Write-Host "Creating VM: " $vmName
    New-AzVm -ResourceGroupName $resourceGroup -Name $vmName -Credential $adminCredential -Image Canonical:0001-com-ubuntu-server-focal:20_04-lts:latest
}

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

  1. Dosyayı kaydedin ve "..." kullanarak düzenleyiciyi kapatın düzenleyicinin sağ üst köşesindeki bağlam menüsü (veya Ctrl + Q kullanın).

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

    ./ConferenceDailyReset.ps1 <rgn>[sandbox resource group name]</rgn>
    

    Betiğin tamamlanması birkaç dakika sürebilir. Tamamlandığında, kaynak grubunuzdaki kaynaklara bakarak başarıyla çalıştırıldığından emin olun:

    Get-AzResource -ResourceType Microsoft.Compute/virtualMachines
    

Her birinin benzersiz bir ada sahip olduğu üç VM'niz olmalıdır.

Bir betik parametresi tarafından belirtilmiş kaynak grubundaki üç VM’nin oluşturulmasını otomatikleştiren bir betik yazdınız. Betik kısa ve basittir ancak Azure portalıyla el ile tamamlanması uzun sürecek bir işlemi otomatikleştirir.