Kullanılabilirlik Alanları genelinde Azure Batch havuzu oluşturma

Kullanılabilirlik Alanları destekleyen Azure bölgeleri, her biri kendi bağımsız güç kaynağı, ağ ve soğutma sistemine sahip en az üç ayrı bölgeye sahiptir. Sanal Makine Yapılandırması'nı kullanarak bir Azure Batch havuzu oluşturduğunuzda, Batch havuzunuzu Kullanılabilirlik Alanları genelinde sağlamayı seçebilirsiniz. Bu bölge ilkesiyle havuzunuzu oluşturmak, Batch işlem düğümlerinizi Azure veri merkezi düzeyindeki hatalardan korumaya yardımcı olur.

Örneğin, üç Kullanılabilirlik Alanını destekleyen bir Azure bölgesinde havuzunuzu alan ilkesiyle oluşturabilirsiniz. Bir Kullanılabilirlik Alanındaki Azure veri merkezinde altyapı arızası meydana gelirse, Batch havuzunuzun diğer iki Kullanılabilirlik Alanında yine sağlıklı düğümleri bulunur; bu nedenle havuz, görevlerin zamanlanması için kullanılabilir durumda kalır.

Bölgesel destek ve diğer gereksinimler

Batch, destek Kullanılabilirlik Alanları üzerinde Azure ile eşliği korur. Bölgesel seçeneği kullanmak için havuzunuzun desteklenen bir Azure bölgesinde oluşturulması gerekir.

Batch havuzunuzun kullanılabilirlik alanları arasında ayrılması için, havuzun oluşturulduğu Azure bölgesinin birden fazla bölgede istenen VM SKU'sunu desteklemesi gerekir. Kaynak Skus Listesi API'sini çağırarak ve resourceSku'nun locationInfo alanını denetleyerek bunu doğrulayabilirsiniz. İstenen VM SKU'su için birden fazla bölgenin desteklendiğinden emin olun.

Kullanıcı aboneliği modu Batch hesapları için havuzunuzu oluşturmakta olduğunuz aboneliğin istenen VM SKU'su üzerinde bölge teklifi kısıtlaması olmadığından emin olun. Bunu onaylamak için Kaynak Sku'ları Listesi API'sini çağırın ve ResourceSkuRestrictions'ı denetleyin. Bölge kısıtlaması varsa, bölge kısıtlamasını kaldırmak için bir destek bileti gönderebilirsiniz.

Ayrıca, bir havuzda düğümler arası iletişim etkinse ve InfiniBand’i destekleyen bir VM SKU kullanılıyorsa, bölgesel ilkeye sahip bir havuz oluşturamazsınız.

Kullanılabilirlik Alanları boyunca bir Batch havuzu oluşturun

Aşağıdaki örneklerde, Kullanılabilirlik Alanları genelinde Batch havuzunun nasıl oluşturulacağı gösterilmektedir.

Not

Havuzunuzu bölgesel bir ilkeyle oluştururken Batch hizmeti, havuzunuzu seçili bölgedeki tüm Kullanılabilirlik Alanlarına dağıtmaya çalışır; alanlar arasında belirli bir tahsis düzeni belirtemezsiniz.

Batch Management İstemcisi .NET SDK'sı

var credential = new DefaultAzureCredential();
ArmClient _armClient = new ArmClient(credential);

var batchAccountIdentifier = ResourceIdentifier.Parse("your-batch-account-resource-id");

BatchAccountResource batchAccount = _armClient.GetBatchAccountResource(batchAccountIdentifier);

var poolName = "pool2";
var imageReference = new BatchImageReference()
{
    Publisher = "canonical",
    Offer = "0001-com-ubuntu-server-jammy",
    Sku = "22_04-lts",
    Version = "latest"
};
string nodeAgentSku = "batch.node.ubuntu 22.04";

var batchAccountPoolData = new BatchAccountPoolData()
{
    VmSize = "Standard_DS1_v2",
    DeploymentConfiguration = new BatchDeploymentConfiguration()
    {
        VmConfiguration = new BatchVmConfiguration(imageReference, nodeAgentSku)
        {
            NodePlacementPolicy = BatchNodePlacementPolicyType.Zonal,
        },
    },
    ScaleSettings = new BatchAccountPoolScaleSettings()
    {
        FixedScale = new BatchAccountFixedScaleSettings()
        {
            TargetDedicatedNodes = 5,
            ResizeTimeout = TimeSpan.FromMinutes(15),
        }
    },
    
};

ArmOperation<BatchAccountPoolResource> armOperation = batchAccount.GetBatchAccountPools().CreateOrUpdate(
    WaitUntil.Completed, poolName, batchAccountPoolData);
BatchAccountPoolResource pool = armOperation.Value;

Toplu REST API

REST API URL'si

POST {batchURL}/pools?api-version=2021-01-01.13.0
client-request-id: 00000000-0000-0000-0000-000000000000

İstek içeriği

"pool": {
    "id": "pool2",
    "vmSize": "standard_a1",
    "virtualMachineConfiguration": {
        "imageReference": {
            "publisher": "Canonical",
            "offer": "UbuntuServer",
            "sku": "20.04-lts"
        },
        "nodePlacementConfiguration": {
            "policy": "Zonal"
        }
        "nodeAgentSKUId": "batch.node.ubuntu 20.04"
    },
    "resizeTimeout": "PT15M",
    "targetDedicatedNodes": 5,
    "targetLowPriorityNodes": 0,
    "maxTasksPerNode": 3,
    "enableAutoScale": false,
    "enableInterNodeCommunication": false
}

Sonraki adımlar