Een Azure Batch-pool maken in Beschikbaarheidszones
Azure-regio's die ondersteuning bieden voor Beschikbaarheidszones minimaal drie afzonderlijke zones hebben, elk met hun eigen onafhankelijke voedingsbron, netwerk en koelsysteem. Wanneer u een Azure Batch-pool maakt met behulp van configuratie van virtuele machines, kunt u ervoor kiezen om uw Batch-pool in te richten op Beschikbaarheidszones. Door uw pool te maken met dit zonegebonden beleid, kunt u uw Batch-rekenknooppunten beschermen tegen fouten op azure-datacenterniveau.
U kunt bijvoorbeeld uw pool maken met zonegebonden beleid in een Azure-regio die ondersteuning biedt voor drie Beschikbaarheidszones. Als een Azure-datacenter in de ene beschikbaarheidszone een infrastructuurfout heeft, heeft uw Batch-pool nog steeds goede knooppunten in de andere twee Beschikbaarheidszones, zodat de pool beschikbaar blijft voor taakplanning.
Regionale ondersteuning en andere vereisten
Batch onderhoudt pariteit met Azure bij het ondersteunen van Beschikbaarheidszones. Als u de zonegebonden optie wilt gebruiken, moet uw pool worden gemaakt in een ondersteunde Azure-regio.
Als u wilt dat uw Batch-pool wordt toegewezen aan meerdere beschikbaarheidszones, moet de Azure-regio waarin de pool wordt gemaakt, de aangevraagde VM-SKU in meer dan één zone ondersteunen. U kunt dit valideren door de API resource-skuslijst aan te roepen en het veld locationInfo van resourceSku te controleren. Zorg ervoor dat meer dan één zone wordt ondersteund voor de aangevraagde VM-SKU.
Voor Batch-accounts voor gebruikersabonnementsmodus moet u ervoor zorgen dat het abonnement waarin u uw pool maakt, geen zoneaanbiedingsbeperking heeft voor de aangevraagde VM-SKU. Als u dit wilt bevestigen, roept u de API resource-Sku-lijst aan en controleert u de ResourceSkuRestrictions. Als er een zonebeperking bestaat, kunt u een ondersteuningsticket indienen om de zonebeperking te verwijderen.
Houd er ook rekening mee dat u geen pool met zonegebonden beleid kunt maken als communicatie tussen knooppunten is ingeschakeld en een VM-SKU gebruikt die InfiniBand ondersteunt.
Een Batch-pool maken in Beschikbaarheidszones
In de volgende voorbeelden ziet u hoe u een Batch-pool maakt in Beschikbaarheidszones.
Notitie
Wanneer u uw pool maakt met een zonegebonden beleid, probeert de Batch-service uw pool toe te wijzen aan alle Beschikbaarheidszones in de geselecteerde regio. U kunt geen specifieke toewijzing opgeven voor de zones.
Batch Management Client .NET SDK
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
Aanvraagtekst
"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
}
Volgende stappen
- Meer informatie over de Werkstroom van de batch-service en primaire resources als pools, knooppunten, jobs en taken.
- Meer informatie over het maken van een pool in een subnet van een virtueel Azure-netwerk.
- Meer informatie over het maken van een Azure Batch-pool zonder openbare IP-adressen.