Mulai cepat: Menggunakan Azure CLI untuk membuat akun Batch dan menjalankan pekerjaan

Mulai cepat ini menunjukkan kepada Anda cara memulai Azure Batch dengan menggunakan perintah dan skrip Azure CLI untuk membuat dan mengelola sumber daya Batch. Anda membuat akun Batch yang memiliki kumpulan komputer virtual, atau simpul komputasi. Anda kemudian membuat dan menjalankan pekerjaan dengan tugas yang berjalan pada simpul kumpulan.

Setelah Anda menyelesaikan mulai cepat ini, Anda memahami konsep utama layanan Batch dan siap menggunakan Batch dengan beban kerja skala yang lebih realistis dan lebih besar.

Prasyarat

Catatan

Untuk beberapa wilayah dan jenis langganan, pembatasan kuota dapat menyebabkan pembuatan akun atau simpul Batch gagal atau tidak selesai. Dalam situasi ini, Anda dapat meminta penambahan kuota tanpa biaya. Untuk informasi selengkapnya, lihat Kuota dan batasan layanan Batch.

Buat grup sumber daya

Jalankan perintah buat grup az berikut untuk membuat grup sumber daya Azure bernama qsBatch di eastus2 wilayah Azure. Grup sumber daya adalah kontainer logis yang menyimpan sumber daya Azure untuk mulai cepat ini.

az group create \
    --name qsBatch \
    --location eastus2

Buat akun penyimpanan

Gunakan perintah az storage account create untuk membuat akun Azure Storage untuk menautkan ke akun Batch Anda. Meskipun mulai cepat ini tidak menggunakan akun penyimpanan, sebagian besar beban kerja Batch dunia nyata menggunakan akun penyimpanan tertaut untuk menyebarkan aplikasi dan menyimpan data input dan output.

Jalankan perintah berikut untuk membuat akun penyimpanan SKU Standard_LRS bernama mybatchstorage di grup sumber daya Anda:

az storage account create \
    --resource-group qsBatch \
    --name mybatchstorage \
    --location eastus2 \
    --sku Standard_LRS

Membuat akun Batch

Jalankan perintah az batch account create berikut untuk membuat akun Batch bernama mybatchaccount di grup sumber daya Anda dan menautkannya dengan mybatchstorage akun penyimpanan.

az batch account create \
    --name mybatchaccount \
    --storage-account mybatchstorage \
    --resource-group qsBatch \
    --location eastus2

Masuk ke akun Batch baru dengan menjalankan perintah az batch account login . Setelah Anda mengautentikasi akun Anda dengan Batch, perintah berikutnya az batch dalam sesi ini menggunakan konteks akun ini.

az batch account login \
    --name mybatchaccount \
    --resource-group qsBatch \
    --shared-key-auth

Membuat kumpulan simpul komputasi

Jalankan perintah az batch pool create untuk membuat kumpulan simpul komputasi Linux di akun Batch Anda. Contoh berikut membuat kumpulan bernama myPool yang terdiri dari dua VM ukuran Standard_A1_v2 yang menjalankan OS Ubuntu 20.04 LTS. Ukuran simpul ini menawarkan keseimbangan performa yang baik versus biaya untuk contoh mulai cepat ini.

az batch pool create \
    --id myPool \
    --image canonical:0001-com-ubuntu-server-focal:20_04-lts \
    --node-agent-sku-id "batch.node.ubuntu 20.04" \
    --target-dedicated-nodes 2 \
    --vm-size Standard_A1_v2

Batch segera membuat kumpulan, tetapi membutuhkan waktu beberapa menit untuk mengalokasikan dan memulai simpul komputasi. Untuk melihat status kumpulan, gunakan perintah az batch pool show . Perintah ini memperlihatkan semua properti kumpulan simpul, dan Anda bisa meminta properti tertentu. Perintah berikut mengkueri status alokasi kumpulan:

az batch pool show --pool-id myPool \
    --query "allocationState"

Saat Batch mengalokasikan dan memulai simpul, kumpulan berada dalam status resizing . Anda dapat membuat pekerjaan dan tugas saat status kumpulan masih resizing. Kumpulan siap menjalankan tugas ketika status alokasi steady dan semua simpul berjalan.

Membuat pekerjaan

Gunakan perintah az batch job create untuk membuat pekerjaan Batch untuk dijalankan di kumpulan Anda. Tugas Microsoft Azure Batch adalah grup logika untuk satu atau beberapa tugas. Pekerjaan ini mencakup pengaturan yang umum untuk tugas, seperti kumpulan yang akan dijalankan. Contoh berikut membuat pekerjaan yang dipanggil myJobmyPool yang awalnya tidak memiliki tugas.

az batch job create \
    --id myJob \
    --pool-id myPool

Membuat tugas pekerjaan

Batch menyediakan sejumlah cara untuk menyebarkan aplikasi dan skrip ke node komputasi. Gunakan perintah az batch task create untuk membuat tugas yang akan dijalankan dalam pekerjaan. Setiap tugas memiliki baris perintah yang menentukan aplikasi atau skrip.

Skrip Bash berikut membuat empat tugas paralel yang identik dan dipanggil myTask1 melalui myTask4. Baris perintah tugas menampilkan variabel lingkungan Batch pada simpul komputasi, lalu menunggu 90 detik.

for i in {1..4}
do
   az batch task create \
    --task-id myTask$i \
    --job-id myJob \
    --command-line "/bin/bash -c 'printenv | grep AZ_BATCH; sleep 90s'"
done

Output perintah menunjukkan pengaturan untuk setiap tugas. Batch mendistribusikan tugas ke simpul komputasi.

Tampilkan status tugas

Setelah Anda membuat tugas, Batch mengantrekan tugas untuk dijalankan pada kumpulan. Setelah simpul tersedia, tugas berjalan pada simpul.

Gunakan perintah az batch task show untuk melihat status tugas Batch. Contoh berikut menunjukkan detail tentang status myTask1:

az batch task show \
    --job-id myJob \
    --task-id myTask1

Output perintah mencakup banyak detail. Misalnya, salah satu exitCode dari 0 menunjukkan bahwa perintah tugas berhasil diselesaikan. menunjukkan nodeId nama simpul kumpulan yang menjalankan tugas.

Melihat output tugas

Gunakan perintah az batch task file list untuk mencantumkan file yang dibuat tugas pada node. Perintah berikut mencantumkan file yang myTask1 dibuat:

az batch task file list \
    --job-id myJob \
    --task-id myTask1 \
    --output table

Hasilnya mirip dengan output berikut:

Name        URL                                                                                       Is Directory    Content Length
----------  ----------------------------------------------------------------------------------------  --------------  ----------------
stdout.txt  https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stdout.txt  False                  695
certs       https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/certs       True
wd          https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/wd          True
stderr.txt  https://mybatchaccount.eastus2.batch.azure.com/jobs/myJob/tasks/myTask1/files/stderr.txt  False                    0

Perintah unduhan file tugas batch az mengunduh file output ke direktori lokal. Jalankan contoh berikut untuk mengunduh file stdout.txt :

az batch task file download \
    --job-id myJob \
    --task-id myTask1 \
    --file-path stdout.txt \
    --destination ./stdout.txt

Anda dapat melihat konten file output standar di editor teks. Contoh berikut menunjukkan file stdout.txt khas. Output standar dari tugas ini menunjukkan variabel lingkungan Azure Batch yang diatur pada simpul. Anda dapat merujuk ke variabel lingkungan ini di baris perintah tugas pekerjaan Batch Anda, dan di aplikasi dan skrip yang dijalankan baris perintah.

AZ_BATCH_TASK_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1
AZ_BATCH_NODE_STARTUP_DIR=/mnt/batch/tasks/startup
AZ_BATCH_CERTIFICATES_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/certs
AZ_BATCH_ACCOUNT_URL=https://mybatchaccount.eastus2.batch.azure.com/
AZ_BATCH_TASK_WORKING_DIR=/mnt/batch/tasks/workitems/myJob/job-1/myTask1/wd
AZ_BATCH_NODE_SHARED_DIR=/mnt/batch/tasks/shared
AZ_BATCH_TASK_USER=_azbatch
AZ_BATCH_NODE_ROOT_DIR=/mnt/batch/tasks
AZ_BATCH_JOB_ID=myJobl
AZ_BATCH_NODE_IS_DEDICATED=true
AZ_BATCH_NODE_ID=tvm-257509324_2-20180703t215033z
AZ_BATCH_POOL_ID=myPool
AZ_BATCH_TASK_ID=myTask1
AZ_BATCH_ACCOUNT_NAME=mybatchaccount
AZ_BATCH_TASK_USER_IDENTITY=PoolNonAdmin

Membersihkan sumber daya

Jika Anda ingin melanjutkan tutorial dan sampel Batch, Anda dapat menggunakan akun Batch dan akun penyimpanan tertaut yang Anda buat dalam mulai cepat ini. Tidak ada biaya untuk akun Batch itu sendiri.

Kumpulan dan simpul dikenakan biaya saat simpul berjalan, bahkan jika mereka tidak menjalankan pekerjaan. Saat Anda tidak lagi memerlukan kumpulan, gunakan perintah az batch pool delete untuk menghapusnya. Menghapus kumpulan akan menghapus semua output tugas pada simpul, dan simpul itu sendiri.

az batch pool delete --pool-id myPool

Ketika Anda tidak lagi memerlukan sumber daya apa pun yang Anda buat untuk mulai cepat ini, Anda dapat menggunakan perintah az group delete untuk menghapus grup sumber daya dan semua sumber dayanya. Untuk menghapus grup sumber daya dan akun penyimpanan, akun Batch, kumpulan simpul, dan semua sumber daya terkait, jalankan perintah berikut:

az group delete --name qsBatch

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat akun dan kumpulan Batch, membuat dan menjalankan pekerjaan dan tugas Batch, dan melihat output tugas dari simpul. Sekarang setelah Anda memahami konsep utama layanan Batch, Anda siap untuk menggunakan Batch dengan beban kerja skala yang lebih realistis dan lebih besar. Untuk mempelajari selengkapnya tentang Azure Batch, lanjutkan ke tutorial Azure Batch.