Latihan - Membuat sumber daya menggunakan skrip Azure CLI

Selesai

Di unit ini, Anda melanjutkan dengan contoh perusahaan yang mengembangkan alat admin Linux. Tujuannya adalah untuk menggunakan komputer virtual (VM) Linux untuk memungkinkan calon pelanggan menguji perangkat lunak Anda. Dengan grup sumber daya yang sudah disiapkan, saatnya untuk membuat VM.

Perusahaan Anda mengamankan stan di pameran dagang Linux besar. Anda berencana untuk menyiapkan area demo dengan tiga terminal, masing-masing terhubung ke VM Linux terpisah. Anda harus menghapus VM dan membuatnya kembali di akhir setiap hari sehingga mereka mulai segar setiap pagi. Membuat VM secara manual setelah hari yang panjang rentan terhadap kesalahan, jadi Anda perlu menulis skrip Azure CLI untuk mengotomatiskan proses pembuatan VM.

Catatan

Latihan ini bersifat opsional. Jika Anda ingin menyelesaikan latihan ini, Anda harus membuat langganan Azure sebelum memulai. Jika Anda tidak memiliki akun Azure atau tidak ingin membuatnya saat ini, Anda dapat membaca instruksi sehingga Anda memahami informasi yang sedang disajikan.

Menulis skrip untuk membuat mesin virtual

Ikuti langkah-langkah ini untuk menulis skrip di Azure Cloud Shell yang mengotomatiskan pembuatan komputer virtual.

Catatan

Biasanya, Anda akan mengautentikasi ke Azure menggunakan kredensial Anda dengan az login, tetapi di Cloud Shell, Anda sudah diautentikasi, sehingga langkah ini tidak perlu.

  1. Buka Azure Cloud Shell melalui portal Azure atau dengan menggunakan tombol Open Cloud Shell yang terletak di sudut kanan atas banyak blok kode Azure CLI.

  2. Mengatur langganan Azure Anda

    az account set --subscription "my subscription name or ID"
    
  3. Dengan menggunakan editor teks pilihan, simpan skrip berikut ke drive lokal Anda. Dalam contoh ini, file diberi nama 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. Unggah file ke drive Cloud Shell Anda. Cara term mudah adalah dengan menggunakan opsi menu Kelola file .

Jalankan skrip

  1. Jalankan skrip menggunakan perintah berikut:

    #!/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. Tunggu penyelesaian. Skrip membutuhkan waktu beberapa menit untuk diselesaikan.

  3. Verifikasi VM. Setelah skrip selesai, verifikasi bahwa skrip berhasil diselesaikan dengan mencantumkan VM di grup sumber daya:

    az vm list -o table
    

    Anda akan melihat tiga VM, masing-masing dengan nama unik dan dalam grup sumber daya terpisah.

Anda berhasil membuat skrip yang mengotomatiskan pembuatan tiga VM, masing-masing dalam grup sumber daya tertentu, memastikan mereka siap untuk demo harian di pameran dagang. Meskipun skripnya pendek dan mudah, skrip secara signifikan mempercepat proses yang jika tidak akan memakan waktu dan rawan kesalahan jika dilakukan secara manual melalui portal Azure.