Mulai cepat: Jalankan pekerjaan Azure Batch pertama Anda dengan Azure CLI

Mulai Azure Batch dengan menggunakan Azure CLI untuk membuat akun Batch, kumpulan node komputasi (komputer virtual), dan pekerjaan yang menjalankan tugas dalam kumpulan. Setiap tugas sampel menjalankan perintah dasar pada salah satu kumpulan simpul.

Antarmuka tingkat panggilan Azure digunakan untuk membuat dan mengelola sumber daya Azure dari baris perintah atau dalam skrip. Setelah menyelesaikan mulai cepat ini, Anda akan memahami konsep kunci layanan Batch dan siap untuk mencoba Batch dengan beban kerja yang lebih realistis pada skala yang lebih besar.

Jika Anda tidak memiliki langganan Azure, buatlah akun gratis sebelum Anda memulai.

Prasyarat

  • Gunakan lingkungan Bash di Azure Cloud Shell.

    Luncurkan Cloud Shell di jendela baru

  • Jika mau, instal Azure CLI untuk menjalankan perintah referensi CLI.

    • Jika Anda menggunakan instalasi lokal, masuk ke Azure CLI dengan menggunakan perintah login az. Untuk menyelesaikan proses autentikasi, ikuti langkah-langkah yang ditampilkan di terminal Anda. Untuk opsi masuk tambahan, lihat Masuk dengan Azure CLI.

    • Saat diminta, instal ekstensi saat pertama kali menggunakan Azure CLI. Untuk informasi selengkapnya tentang ekstensi, lihat Menggunakan ekstensi dengan Azure CLI.

    • Jalankan versi az untuk menemukan versi dan pustaka dependen yang diinstal. Untuk memutakhirkan ke versi terbaru, jalankan pemutakhiran az.

  • Mulai cepat ini memerlukan Azure CLI versi 2.0.20 atau yang lebih baru. Jika ingin menggunakan Azure Cloud Shell, versi terbaru sudah terinstal.

Membuat grup sumber daya

Buat grup sumber daya dengan perintah az group create. Grup sumber daya Azure adalah kontainer logis yang disebarkan dan dikelola sumber daya Azure.

Contoh berikut ini membuat grup sumber daya bernama QuickstartBatch-rg di lokasi eastus2.

az group create \
    --name QuickstartBatch-rg \
    --location eastus2

Buat akun penyimpanan

Anda dapat menautkan akun Azure Storage dengan akun Batch Anda. Meskipun tidak diperlukan untuk mulai cepat ini, akun penyimpanan berguna untuk menyebarkan aplikasi dan menyimpan data input dan output untuk sebagian besar beban kerja dunia nyata. Buat akun penyimpanan di grup sumber daya Anda dengan perintah az storage account create.

az storage account create \
    --resource-group QuickstartBatch-rg \
    --name mystorageaccount \
    --location eastus2 \
    --sku Standard_LRS

Membuat akun Batch

Membuat akun Batch dengan perintah az batch account create. Anda memerlukan akun untuk membuat sumber daya komputasi (kumpulan simpul komputasi) dan tugas Batch.

Contoh berikut membuat akun Batch bernama mybatchaccount di QuickstartBatch-rg, dan tautkan akun penyimpanan yang Anda buat.

az batch account create \
    --name mybatchaccount \
    --storage-account mystorageaccount \
    --resource-group QuickstartBatch-rg \
    --location eastus2

Untuk membuat dan mengelola kumpulan komputasi dan tugas, Anda perlu mengautentikasi dengan Batch. Masuk ke akun dengan perintah az batch account login. Setelah Anda masuk, perintah az batch Anda menggunakan konteks akun ini.

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

Membuat kumpulan node komputasi

Sekarang setelah Anda memiliki akun Batch, buat kumpulan sampel simpul komputasi Linux menggunakan perintah az batch pool create. Contoh berikut membuat kumpulan bernama mypool dengan dua node Standard_A1_v2 yang menjalankan Ubuntu 16.04 LTS. Ukuran simpul yang disarankan menawarkan keseimbangan yang baik antara performa versus biaya untuk contoh cepat ini.

az batch pool create \
    --id mypool --vm-size Standard_A1_v2 \
    --target-dedicated-nodes 2 \
    --image canonical:ubuntuserver:16.04-LTS \
    --node-agent-sku-id "batch.node.ubuntu 16.04"

Batch segera membuat kumpulan, tetapi perlu beberapa menit untuk mengalokasikan dan memulai simpul komputasi. Selama waktu ini, kumpulan simpul berada di resizing status. Untuk melihat status kumpulan, jalankan perintah az batch pool show. Perintah ini memperlihatkan semua properti kumpulan simpul, dan Anda bisa meminta properti tertentu. Perintah berikut ini mendapatkan status alokasi kumpulan:

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

Lanjutkan langkah-langkah berikut untuk membuat pekerjaan dan tugas saat status kumpulan berubah. Kumpulan siap menjalankan tugas ketika status alokasi steady dan semua simpul berjalan.

Buat tugas

Sekarang anda memiliki kumpulan, buat pekerjaan untuk menjalankannya. Tugas Batch adalah grup logika untuk satu atau beberapa tugas. Pekerjaannya mencakup pengaturan yang umum untuk tugas, seperti prioritas dan kumpulan untuk menjalankan tugas. Buat pekerjaan Batch dengan menggunakan perintah az batch job create. Contoh berikut membuat pekerjaan myjob di kumpulan mypool. Awalnya pekerjaan tersebut tidak memiliki tugas.

az batch job create \
    --id myjob \
    --pool-id mypool

Membuat tugas

Sekarang gunakan perintah az batch task create untuk membuat beberapa tugas untuk dijalankan dalam pekerjaan. Dalam contoh ini, Anda membuat empat tugas yang identik. Setiap tugas berjalan command-line untuk menampilkan variabel lingkungan Batch pada simpul komputasi, lalu menunggu 90 detik. Saat Anda menggunakan Batch, baris perintah ini adalah tempat Anda menentukan aplikasi atau skrip Anda. Batch menyediakan sejumlah cara untuk menyebarkan aplikasi dan skrip ke node komputasi.

Skrip Bash berikut membuat 4 tugas paralel (mytask1 ke mytask4).

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

Perintah output memperlihatkan pengaturan untuk setiap tugas. Batch mendistribusikan tugas ke simpul komputasi.

Tampilkan status tugas

Setelah Anda membuat tugas, Batch mengantre untuk berjalan di kumpulan. Setelah simpul tersedia untuk menjalankannya, tugas akan berjalan.

Gunakan perintah az batch task show untuk melihat status tugas Batch. Contoh berikut menunjukkan detail tentang mytask1 yang berjalan pada salah satu kumpulan simpul.

az batch task show \
    --job-id myjob \
    --task-id mytask1

Perintah output mencakup banyak detail, tetapi perhatikan exitCode dari baris perintah tugas dan nodeId. exitCode dari 0 menunjukkan bahwa baris perintah tugas berhasil diselesaikan. nodeId mengindikasikan ID kumpulan simpul tempat tugas dijalankan.

Lihat output tugas

Untuk mencantumkan file yang dibuat oleh tugas pada simpul komputasi, gunakan perintah az batch task file list. Perintah berikut mencantumkan file yang dibuat oleh mytask1:

az batch task file list \
    --job-id myjob \
    --task-id mytask1 \
    --output table

Outputnya mirip dengan berikut ini:

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

Untuk mengunduh salah satu file output ke direktori lokal, gunakan perintah az batch task file download. Dalam contoh ini, output tugas berada di stdout.txt.

az batch task file download \
    --job-id myjob \
    --task-id mytask1 \
    --file-path stdout.txt \
    --destination ./stdout.txt

Anda dapat melihat konten stdout.txt di editor teks. Konten menunjukkan variabel lingkungan Azure Batch yang diatur pada simpul. Saat Anda membuat tugas Batch Anda sendiri, Anda bisa mereferensikan variabel lingkungan ini di baris perintah tugas, di aplikasi, dan skrip yang dijalankan oleh baris perintah. Contohnya:

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 Microsoft Azure Batch, gunakan akun Microsoft Azure Batch dan akun penyimpanan tertaut yang dibuat dalam mulai cepat ini. Tidak ada biaya untuk akun Batch itu sendiri.

Anda dikenai biaya untuk kumpulan tersebut saat simpul berjalan, meskipun tidak ada pekerjaan yang dijadwalkan. Ketika Anda tidak lagi memerlukan kumpulan, hapus dengan perintah az batch pool delete. Saat Anda menghapus kumpulan, semua output tugas di simpul akan dihapus.

az batch pool delete --pool-id mypool

Jika tidak lagi dibutuhkan, gunakan perintah az group delete untuk menghapus grup sumber daya, akun Batch, dan semua sumber daya terkait. Anda bisa menghapus sumber daya dengan cara berikut:

az group delete --name QuickstartBatch-rg

Langkah berikutnya

Dalam mulai cepat ini, Anda membuat akun Batch, kumpulan Batch, dan pekerjaan Batch. Pekerjaannya adalah menjalankan tugas sampel, dan Anda melihat output yang telah dibuat pada salah satu simpul. Sekarang setelah Anda memahami konsep kunci layanan Batch, Anda siap untuk mencoba Microsoft Azure Batch dengan beban kerja yang lebih realistis pada skala yang lebih besar. Untuk mempelajari selengkapnya tentang Azure Batch, lanjutkan ke tutorial Azure Batch.