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

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

Özel görüntünüz için Azure İşlem Galerisi'ni kullanarak işletim sistemi türü ve yapılandırmasının yanı sıra veri disklerinin türü üzerinde denetiminiz olur. Paylaşılan Görüntünüz, sağlandıklarında tüm Batch havuzu düğümlerde kullanılabilir hale gelecek 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ünü kullanırken, VM için yeni diskler oluşturmak üzere görüntü sürümü kullanılır.

Paylaşılan Görüntü kullanmak, havuzun işlem düğümlerini Batch iş yüklerinizi çalıştırmak üzere hazırlamaya zaman kazandırır. Sağlama sonrasında bir Azure Market görüntü 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. Buna ek olarak, Paylaşılan Görüntü için birden çok çoğaltma belirtebilirsiniz. Bu nedenle, çok sayıda VM'ye (600'den fazla VM) sahip havuzlar oluşturma sırasında zaman tasarrufu sağlarsınız.

Senaryo için yapılandırılmış bir Paylaşılan Görüntü kullanmanın çeşitli avantajları olabilir:

  • Bölgeler arasında aynı görüntüleri kullanın. Tüm havuzlarınız aynı görüntüyü kullanmak için farklı bölgelerde Paylaşılan Görüntü çoğaltmaları oluşturabilirsiniz.
  • İşletim sistemini (OS) yapılandırma. Görüntünün işletim sistemi diskini yapılandırmasını özelleştirebilirsiniz.
  • Uygulamaları önceden yükleyin. Uygulamaları işletim sistemi diske önceden yüklemek, işlem düğümlerini bir başlangıç göreviyle sağlamanın ardından uygulamaları yüklemekten daha verimli ve daha az hataya açık bir işlemdir.
  • Büyük miktarlardaki verileri bir kez kopyalayın. Yönetilen bir görüntünün veri disklerini kopyalayıp yönetilen Paylaşılan Görüntünün statik verilerini bir parçası yapma. Bunun yalnızca bir kez yapılması ve verilerin havuzun her düğümünde kullanılabilir durumda olması gerekir.
  • Havuzları daha büyük boyutlara büyütebilirsiniz. Azure İşlem Galerisi ile, özelleştirilmiş görüntüleriniz ve daha fazla Paylaşılan Görüntü çoğaltması ile daha büyük havuzlar oluşturabilirsiniz.
  • Özel görüntü olarak yalnızca yönetilen bir görüntüyü kullanmaya göre daha iyi performans. Paylaşılan Görüntü özel görüntü havuzu için kararlı durumuna ulaşma süresi %25'e kadar, VM boşta kalma gecikme süresi ise %30'a kadar daha kısadır.
  • Daha kolay yönetim için görüntü sürümü ve gruplama. Görüntü gruplama tanımı, görüntünün oluşturulma nedeni, işletim sistemi ve görüntüyü kullanma hakkında bilgiler içerir. Görüntülerin gruplama özelliği daha kolay görüntü yönetimi sağlar. Daha fazla bilgi için bkz. Görüntü tanımları.

Önkoşullar

Not

Azure AD kullanarak kimlik doğrulaması gerekir. Shared-key-auth kullanırsanız kimlik doğrulaması hatası alırsınız.

  • Bir Azure Batch hesabı. Batch hesabı oluşturmak için bkz. Azure CLI veya Azure portal Batch hızlı başlangıçları.

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

Not

Paylaşılan Görüntü Batch hesabıyla aynı abonelikte yer almasa, bu abonelik için Microsoft.Batch kaynak sağlayıcısını kaydetmeniz gerekir. İki aboneliğin aynı Azure AD kiracısı içinde olması gerekir.

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

Azure İşlem Gallery görüntüsüyle özel görüntü havuzu oluşturmak için bir Azure AD uygulaması kullanıyorsanız, bu uygulamaya Paylaşılan Görüntü'ye erişim izni veren bir Azure yerleşik rolü verilmiş olması gerekir. Paylaşılan Görüntü'ye Azure portal, Erişim denetimi (IAM) öğesini seçerek ve uygulama için bir rol ataması ekleyerek bu erişimi izin veebilirsiniz.

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

Azure'da, yönetilen bir görüntüden paylaşılan bir görüntü hazırlar ve bu görüntüden oluşturulabilir:

  • Azure VM işletim sistemi 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ımlar vm hazırlama, anlık görüntü alma ve anlık görüntüden görüntü oluşturma adımlarını gösterir.

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ü Azure Market Batch tarafından desteklenen bir birinci taraf sanal makine görüntüsü kullanın. Temel görüntü olarak yalnızca birinci taraf görüntüleri kullanılabilir. Azure Batch tarafından desteklenen Azure Market görüntü başvurularının tam listesini almak için bkz. List node agent SKUS işlemi.

Not

Temel görüntünüz olarak ek lisans ve satın alma koşullarına sahip bir üçüncü taraf görüntüsü kullanaabilirsiniz. Bu Market görüntüleri hakkında daha fazla bilgi için Linux veya sanal Windowskılavuzuna bakın.

VM oluştururken şu yönergeleri izleyin:

  • VM'nin yönetilen diskle oluşturulduktan emin olmak. Bu, vm oluşturmada varsayılan depolama ayarıdır.
  • Vm'ye Özel Betik uzantısı gibi Azure uzantılarını yükleme. Görüntü önceden yüklenmiş bir uzantı içeriyorsa, Azure Batch havuzunu dağıtırken sorunlarla karşılaşabilirsiniz.
  • Bağlı veri disklerini kullanırken, diskleri kullanmak için bir VM'nin içinde bağlamanız ve biçimlendirmeniz gerekir.
  • Sağlarken temel işletim sistemi görüntüsünün varsayılan geçici sürücüyü kullandığına emin olur. Batch düğümü aracısı şu anda varsayılan geçici sürücüyü bekler.
  • Işletim sistemi diskin şifrelenmey olduğundan emin olmak.
  • VM çalıştırıldıktan sonra RDP (Windows için) veya SSH (Linux için) üzerinden sanal makineye bağlanın. Gerekli tüm yazılımları yükleyin veya istenen 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.

VM anlık görüntüsü oluşturma

Anlık görüntü, VHD'nin tam ve salt okunur bir kopyasıdır. Vm'nin işletim sistemi veya veri disklerinin anlık görüntüsünü oluşturmak için Azure portal veya komut satırı araçlarını kullanabilirsiniz. Anlık görüntü oluşturma adımları ve seçenekleri için VM'ler için kılavuza bakın.

Bir veya daha fazla anlık görüntüden görüntü oluşturma

Anlık görüntüden yönetilen görüntü oluşturmak için az image create komutu gibi Azure komut satırı araçlarını kullanın. Bir işletim sistemi diski anlık görüntüsü ve isteğe bağlı olarak bir veya daha fazla veri diski anlık görüntüsü belirterek görüntü oluşturun.

Yönetilen görüntülerinizi başarıyla oluşturduktan sonra, özel görüntünizi kullanılabilir hale Azure İşlem Galerisi'ni oluşturmanız gerekir. Görüntüleriniz için bir Azure İşlem Galerisi oluşturma hakkında bilgi edinmek için bkz. Azure İşlem Galerisi oluşturma.

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

Azure CLI kullanarak Paylaşılan Görüntüden havuz oluşturmak için komutunu az batch pool create kullanın. Alanında Paylaşılan Görüntü Kimliği'ne --image tıklayın. Işletim sistemi türünün ve SKU'nun tarafından belirtilen sürümler ile eş olduğundan emin olun --node-agent-sku-id

Not

Azure AD kullanarak kimlik doğrulaması gerekir. Shared-key-auth kullanırsanız kimlik doğrulaması hatası alırsınız.

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 "batch.node.ubuntu 16.04"

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

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

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/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ı 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="batch.node.ubuntu 18.04"
)

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

Paylaşılan Görüntüden havuz oluşturmak için Azure portal

Azure portal'da paylaşılan görüntüden havuz oluşturmak için aşağıdaki Azure portal.

  1. Azure portalını açın.
  2. Batch hesapları'ne gidin ve hesapları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 Galeri'yi Azure İşlem seçin.
  5. Yönetilen görüntünüzle ilgili bilgilerle kalan bölümleri tamamlar.
  6. Tamam’ı seçin.

Portal ile paylaşılan görüntüden ile 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 fazlasının olduğu bir havuz oluşturmak için aşağıdaki kılavuzu kullanın.

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

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

Sonraki adımlar