Bagikan melalui


Node dan kumpulan di Azure Batch

Dalam alur kerja Microsoft Azure Batch, simpul komputasi (atau simpul)adalah komputer virtual yang memproses sebagian beban kerja aplikasi Anda. Kumpulan adalah kumpulan simpul ini untuk dijalankan aplikasi Anda. Artikel ini menjelaskan selengkapnya tentang simpul dan kumpulan, bersama dengan pertimbangan saat membuat dan menggunakannya dalam alur kerja Microsoft Azure Batch.

Simpul

Simpul adalah komputer virtual Azure (VM) atau VM layanan cloud yang didedikasikan untuk memproses sebagian beban kerja aplikasi Anda. Ukuran simpul menentukan jumlah core CPU, kapasitas memori, dan ukuran sistem file lokal yang dialokasikan ke simpul.

Anda dapat membuat kumpulan simpul Windows atau Linux dengan menggunakan Microsoft Azure Cloud Services, citra dari Azure Virtual Machines Marketplace,atau citra kustom yang Anda siapkan.

Simpul-simpul dapat menjalankan executable atau skrip apa pun yang didukung oleh lingkungan sistem operasi simpul. Yang dapat dieksekusi atau skrip termasuk skrip *.exe, *.cmd, *.bat, dan PowerShell (untuk Windows) dan skrip binari, shell, dan Python (untuk Linux).

Semua simpul komputasi dalam Microsoft Azure Batch juga mencakup:

Secara default, simpul dapat berkomunikasi satu sama lain, tetapi mereka tidak dapat berkomunikasi dengan komputer virtual yang bukan bagian dari kumpulan yang sama. Untuk mengizinkan simpul berkomunikasi secara aman dengan komputer virtual lain, atau dengan jaringan lokal, Anda dapat menyediakan kumpulan di subnet jaringan virtual Azure (VNet). Ketika Anda melakukannya, node Anda dapat diakses melalui alamat IP publik. Alamat IP publik ini dibuat oleh Microsoft Azure Batch dan dapat berubah selama masa pakai kumpulan. Anda juga dapat membuat kumpulan dengan alamat IP publik statik yang Anda kontrol, yang memastikan bahwa mereka tidak akan berubah secara tiba-tiba.

Kumpulan

Kumpulan adalah kumpulan simpul yang dijalankan aplikasi Anda.

Kumpulan Microsoft Azure Batch dibangun di atas platform komputasi Azure inti. Mereka menyediakan alokasi skala besar, penginstalan aplikasi, distribusi data, pemantauan kesehatan, dan penyesuaian fleksibel (penskalaan) dari jumlah simpul komputasi dalam kumpulan.

Setiap simpul yang ditambahkan ke kumpulan diberi nama dan alamat IP yang unik. Ketika simpul dihapus dari kumpulan, setiap perubahan yang dilakukan pada sistem operasi atau file hilang, dan nama dan alamat IP-nya dirilis untuk digunakan di masa mendatang. Ketika sebuah simpul meninggalkan kumpulan, masa hidupnya sudah berakhir.

Kumpulan hanya dapat digunakan oleh akun Microsoft Azure Batch tempat kumpulan itu dibuat. Akun Microsoft Azure Batch dapat membuat beberapa kumpulan untuk memenuhi persyaratan sumber daya aplikasi yang akan dijalankannya.

Kumpulan dapat dibuat secara manual, atau secara otomatis oleh layanan Microsoft Azure Batch ketika Anda menentukan pekerjaan yang harus dilakukan. Saat membuat kumpulan, Anda dapat menentukan atribut berikut:

Penting

Akun Microsoft Azure Batch memiliki kuota default yang membatasi jumlah core dalam akun Batch. Jumlah core sesuai dengan jumlah simpul komputasi. Anda dapat menemukan kuota default dan instruksi tentang cara meningkatkan kuota di Kuota dan batas untuk layanan Microsoft Azure Batch. Jika kumpulan Anda tidak mencapai jumlah target simpul, kuota inti mungkin menjadi alasannya.

Sistem operasi dan versi

Saat Anda membuat kumpulan Batch, Anda menentukan konfigurasi komputer virtual Azure dan jenis sistem operasi yang ingin Anda jalankan di setiap simpul komputasi di kumpulan.

Konfigurasi

Konfigurasi Mesin Virtual

Konfigurasi Komputer Virtual menentukan bahwa kumpulan terdiri dari komputer virtual Azure. VM ini dapat dibuat dari citra Linux atau Windows.

Agen simpul Batch adalah program yang berjalan pada setiap simpul di kumpulan dan menyediakan antarmuka command-and-control antara simpul dan layanan Batch. Ada berbagai implementasi agen simpul, yaitu SKU, untuk sistem operasi yang berbeda. Ketika Anda membuat kumpulan berdasarkan Konfigurasi Mesin Virtual, Anda harus menentukan tidak hanya ukuran simpul dan sumber citra yang digunakan untuk membuatnya, tetapi juga referensi citra komputer virtual dan agen simpul Batch SKU yang akan diinstal pada simpul-simpul. Untuk informasi selengkapnya tentang menentukan properti kumpulan ini, lihat Menyediakan simpul komputasi Linux di kumpulan Microsoft Azure Batch. Anda dapat secara opsional melampirkan satu atau beberapa disk data kosong ke kumpulan VM yang dibuat dari citra Marketplace, atau menyertakan disk data dalam citra kustom yang digunakan untuk membuat VM. Saat menyertakan disk data, Anda perlu memasang dan memformat disk dari dalam VM untuk menggunakannya.

SKU agen simpul

Ketika Anda membuat kumpulan, Anda perlu memilih nodeAgentSkuId yang sesuai, tergantung pada OS citra dasar VHD Anda. Anda bisa mendapatkan pemetaan ID SKU agen simpul yang tersedia ke referensi Citra OS mereka dengan memanggil operasi SKU Agen Simpul yang Didukung Daftar.

Citra khusus untuk kumpulan Komputer Virtual

Untuk mempelajari cara membuat kumpulan dengan gambar kustom, lihat Menggunakan Azure Compute Gallery untuk membuat kumpulan kustom.

Dukungan kontainer di kumpulan Komputer Virtual

Saat membuat kumpulan Konfigurasi Komputer Virtual menggunakan API Batch, Anda dapat mengatur kumpulan untuk menjalankan tugas di kontainer Docker. Saat ini, Anda harus membuat kumpulan menggunakan citra yang mendukung kontainer Docker. Gunakan Pusat Data Windows Server 2016 dengan citra Kontainer dari Azure Marketplace, atau berikan citra VM kustom yang menyertakan Docker Community Edition atau Enterprise Edition dan driver yang diperlukan. Pengaturan kumpulan harus menyertakan konfigurasi kontainer yang menyalin citra kontainer ke VM saat kumpulan dibuat. Tugas yang berjalan di kumpulan kemudian dapat mereferensikan daftar citra kontainer dan opsi menjalankan kontainer.

Untuk informasi selengkapnya, lihat Menjalankan aplikasi kontainer Docker di Microsoft Azure Batch.

Jenis simpul dan target

Saat membuat kumpulan, Anda dapat menentukan jenis simpul mana yang Anda inginkan dan nomor target untuk masing-masing simpul. Dua jenis simpul adalah:

  • Simpul khusus. Simpul komputasi khusus dicadangkan untuk beban kerja Anda. Mereka lebih mahal daripada node Spot, tetapi mereka dijamin tidak akan pernah didahului.
  • Node Spot. Node Spot memanfaatkan kelebihan kapasitas di Azure untuk menjalankan beban kerja Batch Anda. Node spot lebih murah per jam daripada node khusus, dan memungkinkan beban kerja yang membutuhkan daya komputasi yang signifikan. Untuk informasi selengkapnya, lihat Menggunakan VM Spot dengan Batch.

Node Spot mungkin didahulukan saat Azure memiliki kapasitas surplus yang tidak mencukupi. Jika sebuah simpul didahulukan saat menjalankan tugas, tugas akan diantrekan ulang dan dijalankan lagi setelah simpul komputasi tersedia lagi. Node spot adalah pilihan yang baik untuk beban kerja di mana waktu penyelesaian pekerjaan fleksibel dan pekerjaan didistribusikan ke banyak node. Sebelum Anda memutuskan untuk menggunakan node Spot untuk skenario Anda, pastikan bahwa setiap pekerjaan yang hilang karena pemindahan akan minimal dan mudah dibuat ulang.

Anda dapat memiliki node Spot khusus di kumpulan yang sama. Setiap jenis simpul memiliki pengaturan targetnya sendiri, sehingga Anda dapat menentukan jumlah simpul yang diinginkan.

Jumlah simpul komputasi disebut sebagai target karena, dalam beberapa situasi, kumpulan Anda mungkin tidak mencapai jumlah simpul yang diinginkan. Misalnya, kumpulan mungkin tidak mencapai target jika mencapai kuota inti untuk akun Batch Anda terlebih dahulu. Atau, kumpulan mungkin tidak mencapai target jika Anda telah menerapkan rumus penskalaan otomatis ke kumpulan yang membatasi jumlah maksimum simpul.

Untuk informasi harga untuk node Spot dan khusus, lihat Harga Batch.

Ukuran simpul

Saat Membuat kumpulan Microsoft Azure Batch, Anda dapat memilih dari antara hampir semua keluarga VM dengan ukuran yang tersedia di Azure. Azure menawarkan berbagai ukuran VM untuk beban kerja yang berbeda, termasuk ukuran VM khusus HPC atau GPU. Perhatikan bahwa ukuran simpul hanya dapat dipilih pada saat kumpulan dibuat. Dengan kata lain, setelah kumpulan dibuat, ukuran simpulnya tidak dapat diubah.

Untuk informasi selengkapnya, lihat Memilih ukuran VM untuk simpul komputasi di kumpulan Microsoft Azure Batch.

Kebijakan penskalaan otomatis

Untuk beban kerja dinamis, Anda dapat menerapkan kebijakan penskalaan otomatis ke kumpulan. Microsoft Azure Batch akan secara berkala mengevaluasi rumus Anda dan secara dinamis menyesuaikan jumlah simpul dalam kumpulan sesuai dengan beban kerja saat ini dan penggunaan sumber daya skenario komputasi Anda. Ini memungkinkan Anda untuk menurunkan biaya keseluruhan menjalankan aplikasi Anda dengan hanya menggunakan sumber daya yang Anda butuhkan, dan melepaskan yang tidak Anda butuhkan.

Anda mengaktifkan penskalaan otomatis dengan menulis rumus penskalaan otomatis dan mengaitkan rumus tersebut dengan kumpulan. Microsoft Azure Batch menggunakan rumus untuk menentukan jumlah target simpul dalam kumpulan untuk interval penskalaan berikutnya (interval yang dapat Anda konfigurasi). Anda dapat menentukan pengaturan penskalaan otomatis untuk kumpulan saat Anda membuatnya, atau mengaktifkan penskalaan pada kumpulan nanti. Anda juga dapat memperbarui pengaturan penskalaan pada kumpulan yang mendukung penskalaan.

Sebagai contoh, mungkin pekerjaan mengharuskan Anda mengirimkan sejumlah besar tugas untuk dieksekusi. Anda dapat menetapkan rumus penskalaan ke kumpulan yang menyesuaikan jumlah simpul dalam kumpulan berdasarkan jumlah tugas yang diantrikan saat ini dan tingkat penyelesaian tugas dalam pekerjaan. Microsoft Azure Batch secara berkala mengevaluasi rumus dan mengubah ukuran kumpulan, berdasarkan beban kerja dan pengaturan rumus Anda lainnya. Layanan menambahkan simpul sesuai kebutuhan ketika ada sejumlah besar tugas yang diantrean, dan menghapus simpul ketika tidak ada tugas yang diantrean atau dijalankan.

Rumus penskalaan dapat didasarkan pada metrik berikut:

  • Metrik waktu didasarkan pada statistik yang dikumpulkan setiap lima menit dalam jumlah jam yang ditentukan.
  • Metrik sumber daya didasarkan pada penggunaan CPU, penggunaan bandwidth, penggunaan memori, dan jumlah simpul.
  • Metrik tugas didasarkan pada status tugas, seperti Aktif (diantrikan), Berjalan, atau Selesai.

Saat penskalaan otomatis mengurangi jumlah simpul komputasi dalam kumpulan, Anda harus mempertimbangkan cara menangani tugas yang berjalan pada saat operasi penurunan. Untuk mengakomodasi ini, Batch menyediakan opsi dealokasi simpul yang dapat Anda sertakan dalam rumus Anda. Misalnya, Anda dapat menentukan bahwa tugas yang sedang berjalan segera dihentikan dan kemudian diantrekan ulang untuk dieksekusi pada simpul lain, atau diizinkan untuk selesai sebelum simpul dihapus dari kumpulan. Perhatikan bahwa menyetel opsi dealokasi simpul sebagai taskcompletion atau retaineddata akan mencegah operasi pengubahan ukuran kumpulan hingga semua tugas selesai, atau semua periode retensi tugas telah kedaluwarsa.

Untuk informasi selengkapnya tentang menskalakan aplikasi secara otomatis, lihat Menskalakan simpul komputasi secara otomatis di kumpulan Microsoft Azure Batch.

Tip

Untuk memaksimalkan pemanfaatan sumber daya komputasi, tetapkan jumlah target simpul menjadi nol di akhir pekerjaan, tetapi izinkan menjalankan tugas selesai.

Kebijakan penjadwalan tugas

Opsi konfigurasi tugas maksimum per simpul menentukan jumlah maksimum tugas yang dapat dijalankan secara paralel pada setiap simpul komputasi dalam kumpulan.

Konfigurasi default menentukan bahwa satu tugas pada satu waktu berjalan pada simpul, tetapi ada skenario jika bermanfaat untuk memiliki dua atau lebih tugas yang dijalankan pada sebuah simpul secara bersamaan. Lihat contoh skenario dalam artikel tugas simpul bersamaan untuk melihat bagaimana Anda dapat memperoleh manfaat dari beberapa tugas per simpul.

Anda juga dapat menentukan jenis isi, yang menentukan apakah Batch menyebarkan tugas secara merata di semua simpul dalam kumpulan, atau mengemas setiap simpul dengan jumlah tugas maksimum sebelum menetapkan tugas ke simpul lain.

Status komunikasi

Dalam kebanyakan skenario, tugas beroperasi secara independen dan tidak perlu berkomunikasi satu sama lain. Namun, ada beberapa aplikasi tempat tugas harus berkomunikasi, seperti skenario MPI.

Anda dapat mengonfigurasi kumpulan untuk memungkinkan komunikasi antarsimpul sehingga simpul dalam kumpulan dapat berkomunikasi pada waktu proses. Ketika komunikasi antarsimpul diaktifkan, simpul di kumpulan Konfigurasi Microsoft Azure Cloud Services dapat berkomunikasi satu sama lain pada port yang lebih besar dari 1100, dan kumpulan Konfigurasi Komputer Virtual tidak membatasi lalu lintas pada port apa pun.

Mengaktifkan komunikasi antarsimpul juga berdampak pada penempatan simpul dalam klaster dan mungkin membatasi jumlah maksimum simpul dalam kumpulan karena pembatasan penyebaran. Jika aplikasi Anda tidak memerlukan komunikasi antara simpul, layanan Batch dapat mengalokasikan sejumlah besar simpul ke kumpulan dari banyak klaster dan pusat data yang berbeda untuk memungkinkan peningkatan daya pemrosesan paralel.

Memulai tugas

Jika diinginkan, Anda dapat menambahkan tugas mulai yang akan dijalankan pada setiap simpul saat simpul tersebut bergabung dengan kumpulan, dan setiap kali simpul dimulai ulang atau digambut ulang. Tugas awal sangat berguna untuk menyiapkan simpul komputasi untuk pelaksanaan tugas, seperti menginstal aplikasi yang dijalankan tugas Anda pada simpul komputasi.

Paket aplikasi

Anda dapat menentukan paket aplikasi untuk digunakan ke simpul komputasi di kumpulan. Paket aplikasi menyediakan penerapan dan versi aplikasi yang disederhanakan yang menjalankan tugas Anda. Paket aplikasi yang Anda tentukan untuk kumpulan diinstal pada setiap simpul yang bergabung dengan kumpulan itu, dan setiap kali simpul di-boot ulang atau dicitrakan ulang.

Untuk informasi selengkapnya tentang menggunakan paket aplikasi untuk menyebarkan aplikasi Anda ke simpul Batch Anda, lihat Menyebarkan aplikasi untuk menghitung simpul dengan paket aplikasi Batch.

Konfigurasi jaringan virtual (VNet) dan firewall

Saat Anda menyediakan kumpulan simpul komputasi di Batch, Anda dapat mengaitkan kumpulan dengan subnet jaringan virtual Azure (VNet). Untuk menggunakan Azure VNet, API klien Batch harus menggunakan autentikasi Microsoft Entra. Dukungan Azure Batch untuk ID Microsoft Entra didokumenkan dalam Mengautentikasi solusi layanan Batch dengan Direktori Aktif.

Persyaratan VNet

Untuk informasi selengkapnya tentang menyiapkan kumpulan Batch di VNet, lihat Membuat kumpulan komputer virtual dengan jaringan virtual Anda.

Tip

Untuk memastikan bahwa alamat IP publik yang digunakan untuk mengakses simpul tidak berubah, Anda dapat membuat kumpulan dengan alamat IP publik tertentu yang Anda kontrol.

Kumpulan dan komputasi masa pakai simpul

Saat Mendesain solusi Azure Batch, Anda harus menentukan bagaimana dan kapan kumpulan dibuat, dan berapa lama simpul komputasi dalam kumpulan tersebut tetap tersedia.

Di salah satu ujung spektrum, Anda dapat membuat kumpulan untuk setiap pekerjaan yang Anda kirimkan, dan menghapus kumpulan segera setelah tugasnya menyelesaikan eksekusi. Ini memaksimalkan pemanfaatan karena simpul hanya dialokasikan saat dibutuhkan, dan mereka dimatikan setelah tidak digunakan. Meskipun ini berarti bahwa pekerjaan harus menunggu simpul dialokasikan, penting untuk dicatat bahwa tugas dijadwalkan untuk dieksekusi segera setelah simpul dialokasikan secara individual dan tugas mulai telah selesai. Batch tidak menunggu sampai semua simpul dalam kumpulan tersedia sebelum menetapkan tugas ke simpul. Ini memastikan pemanfaatan maksimum semua simpul yang tersedia.

Di ujung lain spektrum, jika pekerjaan segera dimulai adalah prioritas tertinggi, Anda dapat membuat kumpulan sebelumnya dan membuat simpulnya tersedia sebelum pekerjaan dikirimkan. Dalam skenario ini, tugas dapat segera dimulai, tetapi simpul mungkin duduk menganggur sambil menunggu tugas ditetapkan.

Pendekatan gabungan biasanya digunakan untuk menangani variabel tetapi beban yang sedang berlangsung. Anda dapat memiliki kumpulan jika beberapa pekerjaan dikirimkan, dan dapat menskalakan jumlah simpul naik atau turun sesuai dengan beban pekerjaan. Anda dapat melakukan ini secara reaktif, berdasarkan beban saat ini, atau secara proaktif, jika beban dapat diprediksi. Untuk informasi selengkapnya, lihat Kebijakan penskalaan otomatis.

Kumpulan otomatis

Kumpulan otomatis adalah kumpulan yang dibuat oleh layanan Batch ketika pekerjaan dikirimkan, daripada dibuat sebelum pekerjaan yang akan berjalan di kumpulan. Layanan Batch akan mengelola masa pakai kumpulan otomatis sesuai dengan karakteristik yang Anda tentukan. Paling sering, kumpulan ini juga diatur untuk dihapus secara otomatis setelah pekerjaan mereka selesai.

Keamanan dengan sertifikat

Anda biasanya perlu menggunakan sertifikat saat mengenkripsi atau mendekripsi informasi sensitif untuk tugas, seperti kunci untuk akun Microsoft Azure Storage. Untuk mendukung ini, Anda dapat menginstal sertifikat pada simpul-simpul. Rahasia terenkripsi diteruskan ke tugas melalui parameter baris perintah atau disematkan di salah satu sumber daya tugas, dan sertifikat yang diinstal dapat digunakan untuk mendekripsinya.

Anda menggunakan metode Tambahkan sertifikat (Batch REST) atau CertificateOperations.CreateCertificate (Batch .NET) untuk menambahkan sertifikat ke akun Batch. Anda kemudian dapat mengaitkan sertifikat dengan kumpulan baru atau yang sudah ada.

Ketika sertifikat dikaitkan dengan kumpulan, layanan Batch menginstal sertifikat pada setiap simpul di kumpulan. Layanan Batch menginstal sertifikat yang sesuai ketika simpul dimulai, sebelum meluncurkan tugas apa pun (termasuk tugas mulai dan tugas manajer pekerjaan).

Jika Anda menambahkan sertifikat ke kumpulan yang ada, Anda harus me-reboot simpul komputasinya agar sertifikat diterapkan ke simpul.

Langkah berikutnya