Menggunakan Azure Compute Gallery untuk membuat kumpulan gambar khusus

Saat membuat kumpulan Azure Batch menggunakan Konfigurasi Komputer Virtual, Anda menentukan gambar komputer virtual yang menyediakan sistem operasi untuk setiap simpul komputasi di kumpulan. Anda dapat membuat kumpulan komputer virtual baik dengan gambar Marketplace Azure yang didukung atau membuat gambar kustom dengan gambar Azure Compute Gallery.

Saat menggunakan Azure Compute Gallery untuk gambar kustom, Anda memiliki kontrol atas jenis dan konfigurasi sistem operasi, serta jenis disk data. Citra Bersama Anda dapat menyertakan aplikasi dan data referensi yang tersedia di semua simpul kumpulan Batch segera setelah disediakan.

Anda juga dapat memiliki beberapa versi citra yang diperlukan untuk lingkungan Anda. Saat Anda menggunakan versi gambar untuk membuat VM, versi gambar digunakan untuk membuat disk baru untuk VM.

Menggunakan Citra Bersama menghemat waktu dalam menyiapkan simpul komputasi kumpulan Anda untuk menjalankan beban kerja Batch. Dimungkinkan untuk menggunakan citra Azure Marketplace dan menginstal perangkat lunak pada setiap simpul komputasi setelah penyediaan, tetapi menggunakan Citra Bersama biasanya lebih efisien. Selain itu, Anda dapat menentukan beberapa replika untuk Citra Bersama sehingga ketika Anda membuat kumpulan dengan banyak VM (lebih dari 600 VM), Anda akan menghemat waktu untuk pembuatan kumpulan.

Menggunakan Citra Bersama yang dikonfigurasi untuk skenario Anda dapat memberikan beberapa keuntungan:

  • Gunakan citra yang sama di seluruh wilayah. Anda dapat membuat replika Citra Bersama di berbagai wilayah sehingga semua kumpulan Anda menggunakan citra yang sama.
  • Konfigurasikan sistem operasi (OS). Anda dapat menyesuaikan konfigurasi diska sistem operasi citra.
  • Aplikasi pra-instal. Aplikasi pra-instal pada diska OS lebih efisien dan lebih tahan terhadap kesalahan daripada menginstal aplikasi setelah menyediakan simpul komputasi dengan tugas mulai.
  • Salin data dalam jumlah besar. Jadikan bagian data statis dari Citra Bersama yang dikelola dengan menyalinnya ke diska data citra terkelola. Ini hanya perlu dilakukan sekali dan membuat data tersedia untuk setiap simpul kumpulan.
  • Besarkan ukuran kumpulan. Dengan Azure Compute Gallery, Anda dapat membuat kumpulan lebih besar dengan gambar yang disesuaikan dan lebih banyak replika Gambar Bersama.
  • Performa lebih baik daripada menggunakan citra terkelola sebagai citra kustom. Untuk kumpulan citra kustom Citra Bersama, waktu untuk mencapai status stabil hingga 25% lebih cepat, dan latensi pasif VM hingga 30% lebih pendek.
  • Pembuatan versi citra dan pengelompokan untuk manajemen yang lebih mudah. Definisi pengelompokan citra berisi informasi tentang mengapa citra dibuat, untuk OS apa, dan informasi tentang penggunaan citra. Mengelompokkan citra memudahkan manajemen citra. Untuk informasi selengkapnya, lihat Definisi citra.

Prasyarat

  • Akun Azure Batch. Untuk membuat akun Batch, lihat panduan mulai cepat Batch menggunakan portal Azure atau Azure CLI.

Catatan

Autentikasi menggunakan ID Microsoft Entra diperlukan. Jika Anda menggunakan Autentikasi Kunci Bersama, Anda akan mendapatkan kesalahan autentikasi.

  • gambar Azure Compute Gallery. Untuk membuat Citra Bersama, Anda harus memiliki atau membuat sumber daya citra terkelola. Citra harus dibuat dari salinan bayangan diska OS VM dan bisa juga beserta diska data lampirannya.

Catatan

Jika Citra Bersama tidak berada dalam langganan yang sama dengan akun Batch, Anda harus mendaftarkan penyedia sumber daya Microsoft Batch untuk langganan tersebut. Kedua langganan harus berada di penyewa Microsoft Entra yang sama.

Citra dapat berada di wilayah berbeda selama memiliki replika di wilayah yang sama dengan akun Batch Anda.

Jika Anda menggunakan aplikasi Microsoft Entra untuk membuat kumpulan gambar kustom dengan gambar Azure Compute Gallery, aplikasi tersebut harus diberikan peran bawaan Azure yang memberinya akses ke Gambar Bersama. Anda dapat memberikan akses ini di portal Azure dengan membuka Citra Bersama, memilih Kontrol akses (IAM) dan menambahkan penetapan peran untuk aplikasi.

Catatan

Izin pembaca untuk gambar Azure Compute Gallery tidak memadai karena mereka mengharuskan eksekusi tindakan minimum berikut: Microsoft.Compute/disks/beginGetAccess/action untuk akses yang sesuai.

Menyiapkan Citra Bersama

Di Azure, Anda dapat menyiapkan citra bersama dari citra terkelola, yang dapat dibuat dari:

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

Catatan

Batch hanya mendukung Citra Bersama umum; Citra Bersama khusus tidak dapat digunakan untuk membuat kumpulan.

Langkah-langkah berikut menunjukkan cara menyiapkan VM, mengambil salinan bayangan, dan membuat citra dari salinan bayangan.

Siapkan VM

Jika Anda membuat VM baru untuk gambar, gunakan gambar Marketplace Azure yang didukung oleh Batch sebagai gambar dasar untuk gambar terkelola Anda.

Untuk mendapatkan daftar lengkap referensi gambar Marketplace Azure saat ini yang didukung oleh Azure Batch, gunakan salah satu API berikut untuk mengembalikan daftar gambar VM Windows dan Linux:

Ikuti panduan berikut saat membuat VM:

  • 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 bisa bermasalah 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 disk 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.
  • Untuk penyediaan kumpulan yang lebih cepat, gunakan pengaturan cache diska ReadWrite untuk diska OS VM.

Anda perlu membuat Azure Compute Gallery untuk membuat gambar kustom Anda tersedia. Pilih galeri ini saat membuat gambar dalam langkah-langkah berikut. Untuk mempelajari cara membuat Azure Compute Gallery untuk gambar Anda, lihat Membuat Azure Compute Gallery.

Buat sebuah citra

Untuk membuat gambar dari VM di portal, lihat Menangkap gambar VM.

Untuk membuat gambar menggunakan sumber selain VM, lihat Membuat gambar.

Catatan

Jika gambar dasar memiliki informasi rencana pembelian, pastikan gambar galeri memiliki informasi rencana pembelian yang identik sebagai gambar dasar. Untuk informasi selengkapnya tentang membuat gambar yang memiliki paket pembelian, lihat Menyediakan Marketplace Azure informasi paket pembelian saat membuat gambar.

Jika gambar dasar tidak memiliki informasi paket pembelian, hindari menentukan informasi paket pembelian apa pun untuk gambar galeri.

Untuk informasi paket pembelian tentang gambar Marketplace ini, lihat panduan untuk VM Linux atau Windows .

Gunakan Azure PowerShell Get-AzGalleryImageDefinition atau Azure CLI az sig image-definition show untuk memeriksa apakah gambar galeri memiliki informasi rencana yang benar.

Buat kumpulan dari Citra Bersama menggunakan Azure CLI

Untuk membuat kumpulan dari Citra Bersama Anda menggunakan Azure CLI, gunakan perintah az batch pool create. Tentukan ID Citra Bersama di bidang --image. Pastikan jenis OS dan SKU cocok dengan versi yang ditentukan oleh --node-agent-sku-id

Penting

Id SKU agen simpul harus selaras dengan penerbit/penawaran/SKU agar simpul dapat dimulai.

az batch pool create \
    --id mypool --vm-size Standard_A1_v2 \
    --target-dedicated-nodes 2 \
    --image "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}" \
    --{node-agent-sku-id}

Buat kumpulan dari Citra Bersama menggunakan C#

Atau, Anda dapat membuat kumpulan dari Citra Bersama menggunakan C# SDK.

private static VirtualMachineConfiguration CreateVirtualMachineConfiguration(ImageReference imageReference)
{
    return new VirtualMachineConfiguration(
        imageReference: imageReference,
        nodeAgentSkuId: {});
}

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

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

        pool.Commit();
    }
    ...
}

Buat kumpulan dari Citra Bersama menggunakan Python

Anda juga dapat membuat kumpulan dari Citra Bersama dengan menggunakan Python SDK:

# Import the required modules from the
# Azure Batch Client Library for Python
import azure.batch as batch
import azure.batch.models as batchmodels
from azure.common.credentials import ServicePrincipalCredentials

# Specify Batch account and service principal account credentials
account = "{batch-account-name}"
batch_url = "{batch-account-url}"
ad_client_id = "{sp-client-id}"
ad_tenant = "{tenant-id}"
ad_secret = "{sp-secret}"

# Pool settings
pool_id = "LinuxNodesSamplePoolPython"
vm_size = "STANDARD_D2_V3"
node_count = 1

# Initialize the Batch client with Azure AD authentication
creds = ServicePrincipalCredentials(
    client_id=ad_client_id,
    secret=ad_secret,
    tenant=ad_tenant,
    resource="https://batch.core.windows.net/"
)
client = batch.BatchServiceClient(creds, batch_url)

# Configure the start task for the pool
start_task = batchmodels.StartTask(
    command_line="printenv AZ_BATCH_NODE_STARTUP_DIR"
)
start_task.run_elevated = True

# Create an ImageReference which specifies the image from
# Azure Compute Gallery to install on the nodes.
ir = batchmodels.ImageReference(
    virtual_machine_image_id="/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}"
)

# Create the VirtualMachineConfiguration, specifying
# the VM image reference and the Batch node agent to
# be installed on the node.
vmc = batchmodels.VirtualMachineConfiguration(
    image_reference=ir,
    {node_agent_sku_id}
)

# Create the unbound pool
new_pool = batchmodels.PoolAddParameter(
    id=pool_id,
    vm_size=vm_size,
    target_dedicated_nodes=node_count,
    virtual_machine_configuration=vmc,
    start_task=start_task
)

# Create pool in the Batch service
client.pool.add(new_pool)

Membuat kumpulan dari Gambar Bersama atau Gambar Kustom menggunakan portal Azure

Gunakan langkah-langkah berikut untuk membuat kumpulan dari Citra Bersama di portal Azure.

  1. Buka portal Microsoft Azure.
  2. Buka akun Batch dan pilih akun Anda.
  3. Pilih Kumpulan lalu Tambah untuk membuat kumpulan baru.
  4. Di bagian Jenis Gambar, pilih Azure Compute Gallery.
  5. Lengkapi bagian yang tersisa dengan informasi tentang citra terkelola Anda.
  6. Pilih OK.
  7. Setelah simpul dialokasikan, gunakan Koneksi untuk menghasilkan pengguna dan file RDP untuk Windows ATAU menggunakan SSH untuk Linux untuk masuk ke simpul yang dialokasikan dan memverifikasi.

Buat kumpulan dari Citra Bersama dengan portal.

Pertimbangan kumpulan besar

Jika Anda berencana membuat kumpulan dengan ratusan atau ribuan VM atau lebih menggunakan Citra Bersama, gunakan panduan berikut.

  • Nomor replika Azure Compute Gallery. Untuk setiap kumpulan dengan hingga 300 instans, kami sarankan Anda menyimpan setidaknya satu replika. Misalnya, jika Anda membuat kumpulan dengan 3.000 VM, Anda harus menyimpan setidaknya 10 replika gambar Anda. Kami selalu menyarankan untuk menyimpan lebih banyak replika daripada persyaratan minimum untuk kinerja yang lebih baik.

  • Mengubah ukuran timeout. Jika pool Anda berisi jumlah simpul tetap (jika tidak autoscale), tingkatkan properti resizeTimeout kumpulan sesuai ukuran kumpulan. Untuk setiap 1.000 VM, batas waktu mengubah ukuran yang disarankan setidaknya 15 menit. Misalnya, batas waktu mengubah ukuran yang direkomendasikan untuk kumpulan dengan 2.000 VM setidaknya 30 menit.

Langkah berikutnya