Bagikan melalui


Contoh CLI: Membuat dan mengelola kumpulan Linux di Azure Batch

Skrip ini menunjukkan beberapa perintah yang tersedia di Azure CLI untuk membuat dan mengelola kumpulan simpul komputasi Linux di Azure Batch.

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

Prasyarat

Sampel skrip

Meluncurkan Azure Cloud Shell

Azure Cloud Shell adalah shell interaktif gratis yang dapat Anda gunakan untuk menjalankan langkah-langkah dalam artikel ini. Shell ini memiliki alat Azure umum yang telah dipasang sebelumnya dan dikonfigurasi untuk digunakan dengan akun Anda.

Untuk membuka Cloud Shell, cukup pilih Cobalah dari sudut kanan atas blok kode. Anda juga dapat meluncurkan Cloud Shell di tab browser terpisah dengan membuka https://shell.azure.com.

Saat Cloud Shell terbuka, verifikasi bahwa Bash dipilih untuk lingkungan Anda. Sesi berikutnya akan menggunakan Azure CLI dalam lingkungan Bash, Pilih Salin untuk menyalin blok kode, tempelkan ke Cloud Shell, lalu tekan Enter untuk menjalankannya.

Masuk ke Azure

Cloud Shell diautentikasi secara otomatis dengan akun awal yang digunakan untuk masuk. Gunakan skrip berikut untuk masuk menggunakan langganan lain, mengganti subscriptionId dengan ID langganan Azure Anda.

Jika Anda tidak memiliki akun Azure, buat akun gratis sebelum memulai.

subscription="subscriptionId" # Set Azure subscription ID here

az account set -s $subscription # ...or use 'az login'

Untuk informasi selengkapnya, lihat mengatur langganan aktif atau masuk secara interaktif.

Untuk membuat kumpulan Linux di Azure Batch

# Create and manage a Linux pool in Azure Batch

# Variable block
let "randomIdentifier=$RANDOM*$RANDOM"
location="East US"
[[ "$RESOURCE_GROUP" == '' ]] && resourceGroup="msdocs-batch-rg-$randomIdentifier" || resourceGroup="${RESOURCE_GROUP}"
tag="manage-pool-linux"
batchAccount="msdocsbatch$randomIdentifier"

# Create a resource group.
echo "Creating $resourceGroup in "$location"..."
az group create --name $resourceGroup --location "$location" --tag $tag

# Create a Batch account.
echo "Creating $batchAccount"
az batch account create --resource-group $resourceGroup --name $batchAccount --location "$location"

# Authenticate Batch account CLI session.
az batch account login --resource-group $resourceGroup --name $batchAccount --shared-key-auth

# Retrieve a list of available images and node agent SKUs.
az batch pool supported-images list --query "[?contains(imageReference.offer,'ubuntuserver') && imageReference.publisher == 'canonical'].{Offer:imageReference.offer, Publisher:imageReference.publisher, Sku:imageReference.sku, nodeAgentSkuId:nodeAgentSkuId}[-1]" --output tsv

# Create a new Linux pool with a virtual machine configuration. The image reference 
# and node agent SKUs ID can be selected from the ouptputs of the above list command.
# The image reference is in the format: {publisher}:{offer}:{sku}:{version} where {version} is
# optional and defaults to 'latest'."

az batch pool create --id mypool-linux --vm-size Standard_A1 --image canonical:ubuntuserver:18_04-lts-gen2 --node-agent-sku-id "batch.node.ubuntu 18.04"

# Resize the pool to start some VMs.
az batch pool resize --pool-id mypool-linux --target-dedicated 5

# Check the status of the pool to see when it has finished resizing.
az batch pool show --pool-id mypool-linux

# List the compute nodes running in a pool.
az batch node list --pool-id mypool-linux

# returns [] if no compute nodes are running

Untuk memulai ulang node batch

Jika simpul tertentu di kumpulan mengalami masalah, simpul tersebut dapat di-boot ulang atau dicitrakan ulang. ID dari simpul dapat diambil dengan menggunakan perintah daftar di atas. ID simpul biasa dalam format tvm-xxxxxxxxxx_1-<timestamp>.

az batch node reboot \
    --pool-id mypool-linux \
    --node-id tvm-123_1-20170316t000000z

Untuk menghapus node batch

Satu atau beberapa simpul komputasi dapat dihapus dari kumpulan, dan pekerjaan apa pun yang telah ditetapkan ke simpul tersebut dapat dialokasikan kembali ke simpul lain.

az batch node delete \
    --pool-id mypool-linux \
    --node-list tvm-123_1-20170316t000000z tvm-123_2-20170316t000000z \
    --node-deallocation-option requeue

Membersihkan sumber daya

Gunakan perintah berikut untuk menghapus grup sumber daya dan semua sumber daya yang terkait dengannya menggunakan perintah az group delete - kecuali Anda masih memiliki kebutuhan untuk sumber daya ini. Beberapa sumber daya ini mungkin membutuhkan beberapa waktu untuk dibuat dan dihapus.

az group delete --name $resourceGroup

Referensi sampel

Skrip ini menggunakan perintah berikut. Setiap perintah dalam tabel ditautkan ke dokumentasi yang spesifik untuk perintah tersebut.

Perintah Catatan
Perintah az group create digunakan untuk membuat grup baru. Membuat grup sumber daya tempat semua sumber daya disimpan.
az batch akun buat Membuat akun Batch.
masuk akun batch az Mengautentikasi pada akun Batch yang ditentukan untuk interaksi CLI lebih lanjut.
az batch pool node-agent-skus list Mencantumkan SKU agen node yang tersedia dan informasi citra.
az batch pool create Membuat sebuah kumpulan node komputasi.
Perintah az batch pool resize untuk mengubah ukuran pool batch. Mengubah ukuran jumlah VM yang berjalan di kumpulan yang ditentukan.
az batch pool show Menampilkan properti gugus.
az batch node list (perintah untuk menampilkan daftar node batch) Mencantumkan semua node komputasi dalam kumpulan yang ditentukan.
az batch node reboot (perintah untuk me-reboot node batch di Azure) Melakukan reboot pada node komputasi yang ditentukan.
az batch node delete (perintah untuk menghapus node di batch) Menghapus node yang tercantum dari kumpulan yang ditentukan.
az hapus grup Menghapus sebuah grup sumber daya termasuk semua sumber daya yang terstruktur secara hierarkis.

Langkah berikutnya

Untuk informasi selengkapnya tentang Azure CLI, lihat dokumentasi Azure CLI.