Özel görüntü havuzu oluşturmak için Azure İşlem Galerisi'ni kullanma

Sanal Makine Yapılandırmasını kullanarak bir Azure Batch havuzu oluşturduğunuzda, havuzdaki her işlem düğümü için işletim sistemini sağlayan bir VM görüntüsü belirtirsiniz. Desteklenen bir Azure Market görüntüsüne sahip bir sanal makine havuzu oluşturabilir veya Azure İşlem Galerisi görüntüsüyle özel görüntü oluşturabilirsiniz.

Özel görüntünüz için Azure İşlem Galerisi'ni kullandığınızda, işletim sistemi türü ve yapılandırmasının yanı sıra veri disklerinin türü üzerinde denetim sahibisinizdir. Paylaşılan Görüntünüz, sağlandığı anda tüm Batch havuzu düğümlerinde kullanılabilen uygulamaları ve başvuru verilerini içerebilir.

Ortamınız için gerektiğinde görüntünün birden çok sürümüne de sahip olabilirsiniz. Vm oluşturmak için görüntü sürümü kullandığınızda, vm için yeni diskler oluşturmak için görüntü sürümü kullanılır.

Paylaşılan Görüntü kullanmak, Batch iş yükünüzü çalıştırmak için havuzunuzun işlem düğümlerini hazırlarken zaman kazandırır. Sağlama sonrasında bir Azure Market görüntüsü kullanmak ve her işlem düğümüne yazılım yüklemek mümkündür, ancak Paylaşılan Görüntü kullanmak genellikle daha verimlidir. Ayrıca, Paylaşılan Görüntü için birden çok çoğaltma belirtebilirsiniz, böylece çok sayıda VM'ye (600'den fazla VM) sahip havuzlar oluşturduğunuzda havuz oluşturma işleminde zaman kazanırsınız.

Senaryonuz için yapılandırılmış bir Paylaşılan Görüntü kullanmak çeşitli avantajlar sağlayabilir:

  • Bölgeler arasında aynı görüntüleri kullanın. Tüm havuzlarınızın aynı görüntüyü kullanabilmesi için farklı bölgelerde Paylaşılan Görüntü çoğaltmaları oluşturabilirsiniz.
  • İşletim sistemini (işletim sistemi) yapılandırın. Görüntünün işletim sistemi diskinin yapılandırmasını özelleştirebilirsiniz.
  • Uygulamaları önceden yükleyin. İşletim sistemi diskinde uygulamaları önceden yüklemek, işlem düğümlerini bir başlangıç göreviyle sağladıktan sonra uygulama yüklemekten daha verimli ve daha az hataya açıktır.
  • Büyük miktarda veriyi bir kez kopyalayın. Statik verileri yönetilen görüntünün veri disklerine kopyalayarak yönetilen Paylaşılan Görüntünün bir parçası yapın. Bunun yalnızca bir kez yapılması gerekir ve verilerin havuzun her düğümü için kullanılabilir olmasını sağlar.
  • Havuzları daha büyük boyutlara büyütün. Azure İşlem Galerisi ile özelleştirilmiş görüntülerinizle daha büyük havuzlar ve daha fazla Paylaşılan Görüntü çoğaltması oluşturabilirsiniz.
  • Özel görüntü olarak yalnızca yönetilen bir görüntüyü kullanmaktan daha iyi performans. Paylaşılan Görüntü özel görüntü havuzu için kararlı duruma ulaşma süresi %25'e kadar daha hızlıdır ve VM boşta kalma gecikme süresi %30'a kadar daha kısadır.
  • Daha kolay yönetim için görüntü sürümü oluşturma ve gruplandırma. Görüntü gruplandırma tanımı, görüntünün neden oluşturulduğu, hangi işletim sistemi için olduğu ve görüntüyü kullanma hakkında bilgiler içerir. Görüntüleri gruplandırma, daha kolay görüntü yönetimi sağlar. Daha fazla bilgi için bkz . Görüntü tanımları.

Önkoşullar

  • Bir Azure Batch hesabı. Batch hesabı oluşturmak için Bkz. Azure portalını veya Azure CLI'yı kullanarak Batch hızlı başlangıçları.

Not

Microsoft Entra Id kullanarak kimlik doğrulaması gereklidir. Paylaşılan Anahtar Kimlik Doğrulaması kullanıyorsanız kimlik doğrulama hatası alırsınız.

  • Azure İşlem Galerisi görüntüsü. Paylaşılan Görüntü oluşturmak için yönetilen görüntü kaynağına sahip olmanız veya oluşturmanız gerekir. Görüntü, VM'nin işletim sistemi diskinin anlık görüntülerinden ve isteğe bağlı olarak ekli veri disklerinden oluşturulmalıdır.

Not

Paylaşılan Görüntü Batch hesabıyla aynı abonelikte değilse, bu abonelik için Microsoft.Batch kaynak sağlayıcısını kaydetmeniz gerekir. İki abonelik aynı Microsoft Entra kiracısında olmalıdır.

Batch hesabınızla aynı bölgede çoğaltmaları olduğu sürece resim farklı bir bölgede olabilir.

Azure İşlem Galerisi görüntüsüyle özel bir görüntü havuzu oluşturmak için bir Microsoft Entra uygulaması kullanıyorsanız, bu uygulamaya Paylaşılan Görüntüye erişim sağlayan bir Azure yerleşik rolü verilmiş olmalıdır. Paylaşılan Görüntü'ye gidip Erişim denetimi (IAM) seçeneğini belirleyerek ve uygulama için rol ataması ekleyerek Azure portalında bu erişimi vekleyebilirsiniz.

Not

Azure İşlem Galerisi görüntüsü için okuyucu izinleri, aşağıdaki minimum eylemin yürütülmesini gerektirdiğinden yetersizdir: Uygun erişim için Microsoft.Compute/disks/beginGetAccess/action.

Paylaşılan Görüntü Hazırlama

Azure'da, aşağıdakilerden oluşturulabilen yönetilen bir görüntüden paylaşılan görüntü hazırlayabilirsiniz:

  • Azure VM işletim sisteminin ve veri disklerinin anlık görüntüleri
  • Yönetilen disklere sahip genelleştirilmiş bir Azure VM
  • Buluta yüklenen genelleştirilmiş bir şirket içi VHD

Not

Batch yalnızca genelleştirilmiş Paylaşılan Görüntüleri destekler; Özel bir Paylaşılan Görüntü havuz oluşturmak için kullanılamaz.

Aşağıdaki adımlarda vm hazırlama, anlık görüntü alma ve anlık görüntüden görüntü oluşturma adımları gösterilmektedir.

VM hazırlama

Görüntü için yeni bir VM oluşturuyorsanız yönetilen görüntünüz için temel görüntü olarak Batch tarafından desteklenen Azure Market görüntüyü kullanın.

Azure Batch tarafından desteklenen geçerli Azure Market görüntü başvurularının tam listesini almak için, Windows ve Linux VM görüntülerinin listesini döndürmek için aşağıdaki API'lerden birini kullanın:

VM oluştururken şu yönergeleri izleyin:

  • VM'nin yönetilen diskle oluşturulduğundan emin olun. Bu, vm oluşturduğunuzda varsayılan depolama ayarıdır.
  • Özel Betik uzantısı gibi Azure uzantılarını VM'ye yüklemeyin. Görüntü önceden yüklenmiş bir uzantı içeriyorsa, Azure Batch havuzunu dağıtırken sorunlarla karşılaşabilir.
  • Bağlı veri disklerini kullanırken, diskleri kullanmak için vm'nin içinden bağlamanız ve biçimlendirmeniz gerekir.
  • Sağladığınız temel işletim sistemi görüntüsünün varsayılan geçici sürücüyü kullandığından emin olun. Batch düğümü aracısı şu anda varsayılan geçici sürücüyü bekliyor.
  • İşletim sistemi diskinin şifrelenmediğinden emin olun.
  • VM çalıştırıldıktan sonra RDP (Windows için) veya SSH (Linux için) aracılığıyla vm'ye bağlanın. Gerekli yazılımları yükleyin veya istediğiniz verileri kopyalayın.
  • Daha hızlı havuz sağlama için VM'nin işletim sistemi diski için ReadWrite disk önbelleği ayarını kullanın.

Özel görüntünüzü kullanılabilir hale getirmek için bir Azure İşlem Galerisi oluşturmanız gerekir. Aşağıdaki adımlarda görüntü oluştururken bu galeriyi seçin. Görüntüleriniz için Azure İşlem Galerisi oluşturmayı öğrenmek için bkz . Azure İşlem Galerisi oluşturma.

Görüntü oluşturma

Portaldaki bir VM'den görüntü oluşturmak için bkz . VM'nin görüntüsünü yakalama.

VM dışında bir kaynak kullanarak görüntü oluşturmak için bkz . Görüntü oluşturma.

Not

Temel görüntüde satın alma planı bilgileri varsa, galeri görüntüsünün temel görüntüyle aynı satın alma planı bilgilerine sahip olduğundan emin olun. Satın alma planı olan görüntü oluşturma hakkında daha fazla bilgi için Bkz. Görüntü oluştururken satın alma planı bilgilerini Azure Market sağlama.

Temel görüntüde satın alma planı bilgileri yoksa galeri görüntüsü için satın alma planı bilgilerini belirtmekten kaçının.

Bu Market görüntüleri hakkında satın alma planı bilgileri için Bkz. Linux veya Windows VM'leri için yönergeler.

Galeri görüntüsünün doğru plan bilgilerine sahip olup olmadığını denetlemek için Azure PowerShell Get-AzGalleryImageDefinition veya Azure CLI az sig image-definition show kullanın.

Azure CLI kullanarak Paylaşılan Görüntüden havuz oluşturma

Azure CLI kullanarak Paylaşılan Görüntünüzden havuz oluşturmak için komutunu kullanın az batch pool create . Alanda Paylaşılan Görüntü Kimliğini --image belirtin. İşletim sistemi türünün ve SKU'nun tarafından belirtilen sürümlerle eşleştiğinden emin olun --node-agent-sku-id

Önemli

Düğümün başlayabilmesi için düğüm aracısı SKU kimliğinin yayımcı/teklif/SKU ile uyumlu olması gerekir.

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}

C kullanarak Paylaşılan Görüntüden havuz oluşturma#

Alternatif olarak, C# SDK'sını kullanarak Paylaşılan Görüntüden havuz oluşturabilirsiniz.

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();
    }
    ...
}

Python kullanarak Paylaşılan Görüntüden havuz oluşturma

Python SDK'sını kullanarak Paylaşılan Görüntüden havuz da oluşturabilirsiniz:

# 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)

Azure portalını kullanarak Paylaşılan Görüntüden veya Özel Görüntüden havuz oluşturma

Azure portalında Paylaşılan Görüntüden havuz oluşturmak için aşağıdaki adımları kullanın.

  1. Azure portalını açın.
  2. Batch hesapları'na gidin ve hesabınızı seçin.
  3. Havuzlar'ı ve ardından Ekle'yi seçerek yeni bir havuz oluşturun.
  4. Görüntü Türü bölümünde Azure İşlem Galerisi'ni seçin.
  5. Yönetilen görüntünüzle ilgili bilgilerle kalan bölümleri tamamlayın.
  6. Tamam'ı seçin.
  7. Düğüm ayrıldıktan sonra Bağlan kullanarak kullanıcı ve Windows için RDP dosyası oluşturun veya Linux için SSH kullanarak ayrılmış düğümde oturum açın ve doğrulayın.

Portal ile Paylaşılan görüntüden içeren bir havuz oluşturun.

Büyük havuzlar için dikkat edilmesi gerekenler

Paylaşılan Görüntü kullanarak yüzlerce veya binlerce VM veya daha fazla sanal makine içeren bir havuz oluşturmayı planlıyorsanız aşağıdaki kılavuzu kullanın.

  • Azure İşlem Galerisi çoğaltma numaraları. En fazla 300 örneği olan her havuz için en az bir çoğaltma tutmanızı öneririz. Örneğin, 3.000 VM'ye sahip bir havuz oluşturuyorsanız görüntünüzün en az 10 çoğaltmasını tutmanız gerekir. Daha iyi performans için her zaman en düşük gereksinimlerden daha fazla çoğaltma tutmanızı öneririz.

  • Zaman aşımını yeniden boyutlandır. Havuzunuz sabit sayıda düğüm içeriyorsa (otomatik ölçeklendirme yapmıyorsa), havuz boyutuna bağlı olarak havuzun özelliğini artırın resizeTimeout . Her 1.000 VM için önerilen yeniden boyutlandırma zaman aşımı en az 15 dakikadır. Örneğin, 2.000 VM'ye sahip bir havuz için önerilen yeniden boyutlandırma zaman aşımı en az 30 dakikadır.

Sonraki adımlar