Menggunakan citra terkelola untuk membuat kumpulan citra kustom

Untuk membuat kumpulan citra khusus untuk mesin virtual (VM) kumpulan Batch, Anda dapat menggunakan citra terkelola untuk membuat citra Azure Compute Gallery. Hanya menggunakan citra terkelola juga didukung, tetapi hanya berlaku untuk versi API hingga 2019-08-01.

Penting

Dalam kebanyakan kasus, Anda harus membuat citra kustom menggunakan Azure Compute Gallery. Dengan menggunakan Azure Compute Gallery, Anda dapat memprovisikan kumpulan lebih cepat, menskalakan jumlah VM yang lebih besar, dan meningkatkan keandalan saat memprovisikan VM. Untuk mempelajari lebih lanjut, lihat Azure Compute Gallery untuk membuat kumpulan kustom.

Topik ini menjelaskan cara membuat kumpulan citra kustom hanya menggunakan citra terkelola.

Prasyarat

  • Sumber daya citra terkelola. Untuk membuat kumpulan komputer virtual menggunakan citra kustom, Anda harus memiliki atau membuat sumber daya citra terkelola di langganan dan wilayah Azure yang sama dengan akun Batch. Citra harus dibuat dari salinan bayangan disk OS VM dan bisa juga beserta disk data lampirannya.

    • Gunakan citra kustom unik untuk setiap kumpulan yang Anda buat.
    • Untuk membuat kumpulan dengan citra menggunakan API Batch, tentukan ID sumber daya citra, yang berbentuk /subscriptions/xxxx-xxxxxx-xxxxx-xxxxxx/resourceGroups/myResourceGroup/providers/Microsoft.Compute/images/myImage.
    • Sumber daya citra terkelola harus ada untuk seumur hidup kumpulan untuk memungkinkan perluasan skala dan dapat dibuang setelah kumpulan dihapus.
  • Autentikasi Azure Active Directory (Azure AD) . API klien Batch harus menggunakan autentikasi Azure AD. Dukungan Azure Batch untuk Azure AD didokumentasikan dalam Autentikasi solusi layanan Batch dengan Direktori Aktif.

Menyiapkan citra terkelola

Di Azure, Anda dapat menyiapkan citra terkelola dari:

  • Salinan bayangan OS dan diska data Azure VM
  • Azure VM umum dengan diska terkelola
  • VHD lokal umum yang diunggah ke awan

Untuk menskalakan kumpulan Batch secara andal dengan citra terkelola, sebaiknya buat citra terkelola hanya dengan metode pertama: menggunakan salinan bayangan diska VM. Langkah-langkah berikut menunjukkan cara menyiapkan VM, mengambil salinan bayangan, dan membuat citra terkelola dari salinan bayangan.

Menyiapkan VM

Jika Anda membuat VM baru untuk citra tersebut, gunakan citra Azure Marketplace pihak pertama yang didukung oleh Batch sebagai citra dasar untuk citra terkelola Anda. Hanya citra pihak pertama yang dapat digunakan sebagai citra dasar. Untuk mendapatkan daftar lengkap referensi citra Azure Marketplace yang didukung oleh Azure Batch, lihat operasi Cantumkan SKU agen simpul.

Catatan

Anda tidak dapat menggunakan citra pihak ketiga yang memiliki lisensi tambahan dan ketentuan pembelian sebagai citra dasar Anda. Untuk informasi tentang citra Marketplace ini, lihat panduan untuk VM Linux atau Windows.

  • Pastikan VM dibuat dengan diska terkelola. Ini adalah pengaturan penyimpanan default saat Anda membuat VM.
  • Jangan instal ekstensi Azure, seperti ekstensi Skrip Kustom, pada VM. Jika citra berisi ekstensi yang telah diinstal sebelumnya, Azure mungkin mengalami masalah saat menyebarkan kumpulan Batch.
  • Saat menggunakan diska data terlampir, Anda perlu memasang dan memformat diska dari dalam VM untuk menggunakannya.
  • Pastikan bahwa citra OS dasar yang Anda sediakan menggunakan drive temp default. Agen simpul Batch saat ini hanya kompatible dengan drive temp default.
  • Pastikan bahwa diska OS tidak dienkripsi.
  • Setelah VM berjalan, sambungkan melalui RDP (untuk Windows) atau SSH (untuk Linux). Instal perangkat lunak yang diperlukan atau salin data yang diinginkan.

Membuat salinan bayangan VM

Salinan bayangan adalah salinan VHD baca-saja lengkap. Untuk membuat salinan bayangan OS atau disk data VM, Anda dapat menggunakan portal Microsoft Azure atau alat baris perintah. Untuk langkah-langkah dan opsi membuat rekam jepret, lihat panduan untuk VM.

Membuat citra dari satu atau beberapa salinan bayangan

Untuk membuat citra terkelola dari salinan bayangan, gunakan alat bantu baris perintah Azure seperti perintah az image create. Anda dapat membuat citra dengan menentukan salinan bayangan diska OS dan secara opsional satu atau beberapa salinan bayangan diska data.

Membuat kumpulan dari citra terkelola

Setelah Anda menemukan ID sumber daya citra terkelola Anda, buat kumpulan citra kustom dari citra itu. Langkah-langkah berikut menunjukkan kepada Anda cara membuat kumpulan citra kustom menggunakan Batch Service atau Batch Management.

Catatan

Pastikan bahwa identitas yang Anda gunakan untuk autentikasi Azure AD memiliki izin ke sumber daya citra. Lihat Autentikasi solusi layanan Batch dengan Direktori Aktif.

Sumber daya untuk citra terkelola harus ada untuk seumur hidup kumpulan. Jika sumber daya yang mendasarinya dihapus, maka kumpulan tidak dapat diperluas skalanya.

Batch Service .NET SDK

private static VirtualMachineConfiguration CreateVirtualMachineConfiguration(ImageReference imageReference)
{
    return new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: "batch.node.windows amd64");
}

private static ImageReference CreateImageReference()
{
    return new ImageReference(
        virtualMachineImageId: "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/images/{image definition name}");
}

private static void CreateBatchPool(BatchClient batchClient, VirtualMachineConfiguration vmConfiguration)
{
    try
    {
        CloudPool pool = batchClient.PoolOperations.CreatePool(
            poolId: PoolId,
            targetDedicatedComputeNodes: PoolNodeCount,
            virtualMachineSize: PoolVMSize,
            virtualMachineConfiguration: vmConfiguration);

        pool.Commit();
    }

Batch Management REST API

REST API URI

 PUT https://management.azure.com/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Batch/batchAccounts/{account name}/pools/{pool name}?api-version=2020-03-01

Isi Permintaan

 {
   "properties": {
     "vmSize": "{VM size}",
     "deploymentConfiguration": {
       "virtualMachineConfiguration": {
         "imageReference": {
           "id": "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/images/{image name}"
         },
         "nodeAgentSkuId": "{Node Agent SKU ID}"
       }
     }
   }
 }

Pertimbangan kumpulan besar

Jika Anda berencana membuat kumpulan dengan ratusan VM atau lebih menggunakan citra kustom, penting untuk mengikuti panduan sebelumnya untuk menggunakan citra yang dibuat dari salinan bayangan VM.

Perhatikan juga pertimbangan berikut:

  • Batas ukuran - Batch membatasi ukuran kumpulan hingga 2500 node komputasi khusus, atau 1000 Node spot, saat Anda menggunakan gambar kustom.

    Jika Anda menggunakan citra yang sama (atau beberapa citra berdasarkan salinan bayangan yang sama) untuk membuat beberapa kumpulan, total simpul komputasi di kumpulan tidak dapat melebihi batas sebelumnya. Kami tidak merekomendasikan penggunaan citra atau salinan bayangan yang mendasarinya untuk lebih dari satu kumpulan.

    Batas dapat dikurangi jika Anda mengonfigurasi kumpulan dengan kumpulan NAT masuk.

  • Ubah Timeout - Jika kumpulan Anda berisi jumlah simpul tetap (tidak otomatis), tingkatkan properti resizeTimeout dari kumpulan ke nilai seperti 20-30 menit. Jika kumpulan Anda tidak mencapai ukuran target dalam periode timeout, lakukan operasi ubah ukuran lain.

    Jika Anda merencanakan kumpulan dengan lebih dari 300 simpul komputasi, Anda mungkin perlu mengubah ukuran kumpulan beberapa kali untuk mencapai ukuran target.

Dengan menggunakan Azure Compute Gallery, Anda dapat membuat lebih banyak kumpulan dengan citra yang disesuaikan dan lebih banyak replika Citra Bersama. Menggunakan Citra Bersama, waktu yang diperlukan kumpulan untuk mencapai keadaan stabil bisa 25% lebih cepat, dan latensi pasif VM hingga 30% lebih pendek.

Pertimbangan untuk menggunakan Packer

Membuat sumber daya citra terkelola secara langsung dengan Packer hanya dapat dilakukan dengan mode langganan pengguna Akun batch. Untuk akun mode layanan Batch, Anda perlu membuat VHD terlebih dahulu, lalu mengimpor VHD ke sumber daya citra terkelola. Bergantung pada mode alokasi kumpulan (langganan pengguna, atau layanan Batch), langkah Anda untuk membuat sumber daya citra terkelola akan bervariasi.

Pastikan bahwa sumber daya yang digunakan untuk membuat citra terkelola ada untuk masa pakai kumpulan apa pun yang merujuk pada citra kustom. Kegagalan untuk melakukannya dapat mengakibatkan kegagalan alokasi kumpulan dan/atau kegagalan ubah ukuran.

Jika citra atau sumber daya yang mendasarinya dihapus, Anda mungkin mendapatkan kesalahan yang mirip dengan: There was an error encountered while performing the last resize on the pool. Please try resizing the pool again. Code: AllocationFailed. Jika Anda mendapatkan kesalahan ini, pastikan sumber daya yang mendasarinya belum dihapus.

Untuk informasi selengkapnya tentang menggunakan Packer dalam membuat VM, lihat Bangun citra Linux dengan Packer atau Bangun citra Windows dengan Packer.

Langkah berikutnya