Ö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, Azure portalı veya Azure CLI kullanarak Batch hızlı başlangıçlarına bakın.

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ından farklı bir abonelikteyse, Microsoft.Batch kaynak sağlayıcısını Paylaşılan Görüntünün bulunduğu aboneliğe kaydetmeniz gerekir. Her iki abonelik de aynı Microsoft Entra kiracısına ait olmalıdır.

İmaj, Batch hesabınızla aynı bölgede replikalara sahip olduğu sürece 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

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

VM dışındaki bir kaynağı 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ına sahip bir görüntü oluşturma hakkında daha fazla bilgi için, görüntü oluştururken Azure Market satın alma planı bilgilerini belirtme konusuna bakın.

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 Marketplace imajlarıyla ilgili satın alma planı bilgileri için Linux veya Windows VM'lerine yönelik yönergelere bakın.

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 . Paylaşılan Görüntü Kimliği'ni --image alanına 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, Azure.ResourceManager.Batch SDK’sını kullanarak Paylaşılan Görüntü’den bir havuz oluşturabilirsiniz.

BatchImageReference imageReference = new BatchImageReference()
{
    Id = new ResourceIdentifier(
        "/subscriptions/{sub id}/resourceGroups/{resource group name}/providers/Microsoft.Compute/galleries/{gallery name}/images/{image definition name}/versions/{version id}")
};

BatchAccountPoolData poolData = new BatchAccountPoolData()
{
    VmSize = PoolVMSize,
    DeploymentConfiguration = new BatchDeploymentConfiguration()
    {
        VmConfiguration = new BatchVmConfiguration(
            imageReference: imageReference,
            nodeAgentSkuId: "batch.node.ubuntu 22.04")
    },
    ScaleSettings = new BatchAccountPoolScaleSettings()
    {
        FixedScale = new BatchAccountFixedScaleSettings() { TargetDedicatedNodes = PoolNodeCount }
    }
};

ArmOperation<BatchAccountPoolResource> pool = await batchAccount.GetBatchAccountPools()
    .CreateOrUpdateAsync(WaitUntil.Completed, PoolId, poolData);

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
from azure.batch import BatchClient, models
from azure.identity import DefaultAzureCredential

# Specify Batch account credentials
account_endpoint = "https://{batch-account-name}.{region}.batch.azure.com"

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

# Initialize the Batch client with Microsoft Entra ID authentication
client = BatchClient(endpoint=account_endpoint, credential=DefaultAzureCredential())

# Configure the start task for the pool
start_task = models.BatchStartTask(
    command_line="printenv AZ_BATCH_NODE_STARTUP_DIR",
    user_identity=models.UserIdentity(
        auto_user=models.AutoUserSpecification(
            elevation_level=models.ElevationLevel.ADMIN,
            scope=models.AutoUserScope.POOL,
        )
    ),
)

# Create an image reference that points to an Azure Compute Gallery image.
ir = models.BatchVmImageReference(
    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
vmc = models.VirtualMachineConfiguration(
    image_reference=ir,
    node_agent_sku_id="batch.node.ubuntu 22.04",
)

# Create the unbound pool
new_pool = models.BatchPoolCreateOptions(
    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.create_pool(pool=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ı oluşturun 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ı kullanarak paylaşılan bir imajdan 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