Vytvoření fondu Azure Batch napříč Zóny dostupnosti

Oblasti Azure, které podporují Zóny dostupnosti mají minimálně tři samostatné zóny, z nichž každý má vlastní nezávislý zdroj napájení, síť a chladicí systém. Při vytváření fondu Azure Batch pomocí konfigurace virtuálního počítače se můžete rozhodnout zřizovat fond Batch napříč Zóny dostupnosti. Vytvoření fondu pomocí této zónové zásady pomáhá chránit výpočetní uzly Batch před selháními na úrovni datacentra Azure.

Můžete například vytvořit fond se zónovými zásadami v oblasti Azure, která podporuje tři Zóny dostupnosti. Pokud dojde k selhání infrastruktury datacentra Azure v jedné zóně dostupnosti, fond Batch bude mít v ostatních dvou Zóny dostupnosti stále v pořádku uzly, takže fond zůstane dostupný pro plánování úkolů.

Regionální podpora a další požadavky

Služba Batch udržuje paritu s Azure při podpoře Zóny dostupnosti. Pokud chcete použít zónovou možnost, musí být váš fond vytvořen v podporované oblasti Azure.

Aby se fond Batch přiděloval napříč zónami dostupnosti, musí oblast Azure, ve které je fond vytvořen, podporovat požadovanou skladovou položku virtuálního počítače ve více než jedné zóně. Můžete to ověřit voláním rozhraní API seznamu skladových položek prostředků a zaškrtnutím pole locationInfo prostředkuSku. Ujistěte se, že pro požadovanou skladovou položku virtuálního počítače je podporováno více než jedna zóna.

U účtů Batch v režimu předplatného uživatele se ujistěte, že předplatné, ve kterém vytváříte fond, nemá omezení nabídky zóny na požadované skladové po straně virtuálního počítače. Pokud to chcete potvrdit, zavolejte rozhraní API seznamu skladových položek prostředků a zkontrolujte resourceSkuRestrictions. Pokud omezení zóny existuje, můžete odeslat lístek podpory, který omezení zóny odebere.

Všimněte si také, že nemůžete vytvořit fond se zónovou zásadou, pokud je povolená komunikace mezi uzly a používá skladovou položku virtuálního počítače, která podporuje InfiniBand.

Vytvoření fondu Služby Batch napříč Zóny dostupnosti

Následující příklady ukazují, jak vytvořit fond Batch napříč Zóny dostupnosti.

Poznámka:

Při vytváření fondu pomocí zónových zásad se služba Batch pokusí přidělit fond napříč všemi Zóny dostupnosti ve vybrané oblasti. Nemůžete určit konkrétní přidělení napříč zónami.

Sada .NET SDK klienta služby Batch Management

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;

Batch REST API

REST API URL

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

Text požadavku

"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
}

Další kroky