Udostępnij za pośrednictwem


Tworzenie puli usługi Azure Batch w Strefy dostępności

Regiony platformy Azure, które obsługują Strefy dostępności mają co najmniej trzy oddzielne strefy, z których każdy ma własne niezależne źródło zasilania, sieć i system chłodzenia. Podczas tworzenia puli usługi Azure Batch przy użyciu konfiguracji maszyny wirtualnej możesz aprowizować pulę usługi Batch w Strefy dostępności. Utworzenie puli przy użyciu tych zasad strefowych pomaga chronić węzły obliczeniowe usługi Batch przed awariami na poziomie centrum danych platformy Azure.

Możesz na przykład utworzyć pulę przy użyciu zasad strefowych w regionie świadczenia usługi Azure, który obsługuje trzy Strefy dostępności. Jeśli centrum danych platformy Azure w jednej strefie dostępności nie powiedzie się, pula usługi Batch będzie nadal mieć węzły w dobrej kondycji w dwóch pozostałych Strefy dostępności, więc pula pozostanie dostępna do planowania zadań.

Pomoc techniczna regionalna i inne wymagania

Usługa Batch utrzymuje równoważność z platformą Azure w zakresie obsługi Strefy dostępności. Aby użyć opcji strefowej, pula musi zostać utworzona w obsługiwanym regionie świadczenia usługi Azure.

Aby pula usługi Batch została przydzielona w różnych strefach dostępności, region świadczenia usługi Azure, w którym tworzona jest pula, musi obsługiwać żądaną jednostkę SKU maszyny wirtualnej w więcej niż jednej strefie. Możesz to sprawdzić, wywołując interfejs API listy jednostek SKU zasobów i sprawdzając pole locationInfo zasobuSku. Upewnij się, że dla żądanej jednostki SKU maszyny wirtualnej jest obsługiwana więcej niż jedna strefa.

W przypadku kont usługi Batch w trybie subskrypcji użytkownika upewnij się, że subskrypcja, w której tworzysz pulę, nie ma ograniczenia oferty strefy dla żądanej jednostki SKU maszyny wirtualnej. Aby to potwierdzić, wywołaj interfejs API listy jednostek SKU zasobów i sprawdź pozycję ResourceSkuRestrictions. Jeśli istnieje ograniczenie strefy, możesz przesłać bilet pomocy technicznej, aby usunąć ograniczenie strefy.

Należy również pamiętać, że nie można utworzyć puli z zasadami strefowymi, jeśli ma włączoną komunikację między węzłami i używa jednostki SKU maszyny wirtualnej obsługującej funkcję InfiniBand.

Tworzenie puli usługi Batch w Strefy dostępności

W poniższych przykładach pokazano, jak utworzyć pulę usługi Batch w Strefy dostępności.

Uwaga

Podczas tworzenia puli przy użyciu zasad strefowych usługa Batch spróbuje przydzielić pulę we wszystkich Strefy dostępności w wybranym regionie. Nie można określić konkretnej alokacji w różnych strefach.

Zestaw SDK platformy .NET klienta zarządzania usługą Batch

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

Treść żądania

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

Następne kroki