Nuta
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować się zalogować lub zmienić katalog.
Dostęp do tej strony wymaga autoryzacji. Możesz spróbować zmienić katalogi.
Możliwość przydzielania węzłów obliczeniowych o niskim priorytcie w pulach usługi Azure Batch jest wycofywana 30 września 2025 r. Dowiedz się, jak migrować pule usługi Batch z węzłami obliczeniowymi o niskim priorytecie do węzłów obliczeniowych opartych na wystąpieniach typu spot.
Informacje o funkcji
Obecnie w ramach konfiguracji puli usługi Batch można określić docelową liczbę węzłów obliczeniowych o niskim priorytecie dla kont usługi Batch do alokacji puli zarządzanej. W ramach alokacji kont Batch w puli subskrypcji użytkownika można określić docelową liczbę węzłów obliczeniowych typu spot. W obu przypadkach te zasoby obliczeniowe są przydzielane z wolnej pojemności i oferowane z rabatem w porównaniu z dedykowanymi maszynami wirtualnymi na żądanie.
Ilość nieużywanej pojemności, która jest dostępna, różni się w zależności od czynników, takich jak rodzina maszyn wirtualnych, rozmiar maszyny wirtualnej, region i godzina dnia. W przeciwieństwie do pojemności dedykowanej te maszyny wirtualne o niskim priorytcie lub typu spot mogą być odzyskiwane w dowolnym momencie przez platformę Azure. W związku z tym maszyny wirtualne o niskim priorytecie i typu spot są zazwyczaj opłacalne dla obciążeń usługi Batch, które mogą być przerywane lub nie wymagają ściśle określonych terminów ukończenia, co pozwala potencjalnie obniżyć koszty.
Koniec wsparcia dla funkcji
W usłudze Batch są wycofywane tylko węzły obliczeniowe o niskim priorytcie. Węzły obliczeniowe typu spot będą nadal obsługiwane, są ofertą ogólnodostępną i nie zostaną dotknięte tym wycofaniem. 30 września 2025 r. wycofamy węzły obliczeniowe o niskim priorytcie. Po tej dacie istniejące pule o niskim priorytecie w usłudze Batch mogą nie być już używane, próby powrotu do docelowych liczb węzłów o niskim priorytecie nie powiedzą się i nie będzie już można aprowizować nowych pul z węzłami obliczeniowymi o niskim priorytecie.
Alternatywa: Używanie węzłów obliczeniowych opartych na usłudze Azure Spot w pulach usługi Batch
Od grudnia 2021 r. Azure Batch rozpoczął oferowanie węzłów obliczeniowych opartych na instancjach Spot w Batch. Podobnie jak maszyny wirtualne o niskim priorytecie, można użyć instancji typu spot, aby uzyskać wolną pojemność po obniżonej cenie w zamian za możliwość przerwania działania maszyny wirtualnej. Jeśli wystąpi wywłaszczenie, węzeł obliczeniowy typu spot zostanie usunięty, a cała praca, która nie została odpowiednio zarchiwizowana, zostanie utracona. Tworzenie punktów kontrolnych jest opcjonalne i jest decyzją użytkownika końcowego usługi Batch, czy je zaimplementować. Zadanie usługi Batch, które zostało przerwane z powodu wywłaszczenia, będzie automatycznie ponownie zakolejkowane do wykonania przez inny węzeł obliczeniowy. Ponadto usługa Azure Batch automatycznie podejmie próbę powrotu do określonej w puli docelowej liczby węzłów typu spot.
Co zmienia się podczas migracji
W przypadku migracji z maszyn wirtualnych o niskim priorytetu do maszyn wirtualnych typu spot mają wpływ następujące właściwości konfiguracji puli:
-
Tryb alokacji puli: musi być
UserSubscription(maszyny wirtualne typu spot nie są dostępne w trybieBatchService) -
Konfiguracja maszyny wirtualnej: musi być
VirtualMachineConfiguration(nieobsługiwana wCloudServiceConfiguration) -
Właściwości węzła docelowego:
-
targetLowPriorityNodes→targetSpotNodes - Model cen puli zmienia się z niskiego priorytetu na ceny typu spot
- Polityka eksmisji może być konfigurowana (usuwanie lub zwalnianie zasobów)
-
Zapoznaj się ze szczegółowym podziałem między ofertą o niskim priorytecie i ofertą spot w ramach usługi Batch.
Migracja puli usługi Batch z węzłami obliczeniowymi o niskim priorytecie lub tworzenie puli usługi Batch z wystąpieniami typu spot
Wymagania wstępne
- Upewnij się, że używasz trybu alokacji puli subskrypcji użytkownika w koncie usługi Batch.
- Sprawdź, czy Twój zasób używa
VirtualMachineConfiguration(maszyny wirtualne typu spot nie są obsługiwane wCloudServiceConfiguration).
Opcja 1. Migracja interfejsu wiersza polecenia platformy Azure (zalecana do automatyzacji)
Utwórz nową pulę z wystąpieniami typu spot:
az batch pool create \
--id "spot-pool-001" \
--vm-size "Standard_D2s_v3" \
--target-low-priority-nodes 5 \
--enable-inter-node-communication false \
--image "Canonical:0001-com-ubuntu-server-focal:20_04-lts-gen2" \
--node-agent-sku-id "batch.node.ubuntu 20.04" \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com"
Skaluj istniejącą pulę, aby używać wystąpień typu spot:
az batch pool resize \
--pool-id <existing-pool-id> \
--target-dedicated-nodes 0 \
--target-low-priority-nodes 5 \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com"
Opcja 2. Azure PowerShell (metoda automatyzacji alternatywnej)
Utwórz pulę z wystąpieniami typu spot:
New-AzBatchPool `
-Id "spot-pool-001" `
-VirtualMachineSize "Standard_D2s_v3" `
-TargetLowPriorityComputeNodes 5 `
-VirtualMachineImageId "/subscriptions/{subscription}/resourceGroups/{rg}/providers/Microsoft.Compute/images/{image}" `
-BatchContext $context
Zweryfikuj przy użyciu programu PowerShell:
$pool = Get-AzBatchPool -Id "spot-pool-001" -BatchContext $context
$pool | Select-Object Id, VmSize, @{Name="SpotNodes";Expression={$_.TargetLowPriorityComputeNodes}}, State
Opcja 3. Witryna Azure Portal (metoda interfejsu użytkownika)
W witrynie Azure Portal wybierz konto usługi Batch i wyświetl istniejącą pulę lub utwórz nową pulę.
W obszarze Skalowanie wybierz Docelowe dedykowane węzły lub Docelowe węzły typu spot/o niskim priorytecie.
W przypadku istniejącej puli wybierz pulę, a następnie wybierz pozycję Skaluj , aby zaktualizować liczbę węzłów typu spot wymaganych na podstawie zaplanowanego zadania.
Wybierz pozycję Zapisz.
Weryfikowanie migracji
Sprawdź konfigurację puli po migracji:
az batch pool show \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com" \
--pool-id <your-pool-id> \
--query "{PoolID:id, VMSize:vmSize, SpotNodes:scaleSettings.targetLowPriorityNodes, AllocationMode:poolAllocationMode, VMConfig:virtualMachineConfiguration.nodeAgentSkuId}"
Oczekiwane pomyślne dane wyjściowe:
{
"AllocationMode": "UserSubscription",
"PoolID": "spot-pool-001",
"SpotNodes": 5,
"VMConfig": "batch.node.ubuntu 20.04",
"VMSize": "Standard_D2s_v3"
}
Zweryfikuj stan puli i przydział węzłów:
az batch pool show \
--account-name <your-batch-account-name> \
--account-endpoint "https://<your-batch-account-name>.<region>.batch.azure.com" \
--pool-id <your-pool-id> \
--query "{State:state, CurrentSpotNodes:currentLowPriorityNodes, TargetSpotNodes:scaleSettings.targetLowPriorityNodes, ResizeErrors:resizeErrors}"
Oczekiwane dane wyjściowe dla puli w dobrej kondycji:
{
"CurrentSpotNodes": 5,
"ResizeErrors": null,
"State": "steady",
"TargetSpotNodes": 5
}
Rozwiązywanie problemów: Co wskazuje na problem?
-
Stan:
"resizing"(w przypadku dłuższych okresów) wskazuje problemy z alokacją - ResizeErrors: Każda wartość inna niż null wskazuje problemy z pojemnością lub limitem przydziału
- CurrentSpotNodes<TargetSpotNodes: pula nie osiągnęła pojemności docelowej
Zmienne konfiguracji dla automatyzacji
W przypadku zespołów tworzących zautomatyzowane rozwiązania są to kluczowe właściwości konfiguracji i ich wartości:
Właściwości interfejsu API REST
-
Tryb alokacji puli:
poolAllocationMode: "UserSubscription" -
Typ konfiguracji maszyny wirtualnej:
virtualMachineConfiguration(wymagane) -
Docelowe węzły typu spot:
targetLowPriorityNodes: <number> -
Zasady eksmisji:
virtualMachineConfiguration.spotPolicy.evictionPolicy: "delete"lub"deallocate"
Zmienne szablonu usługi ARM
{
"poolAllocationMode": "UserSubscription",
"scaleSettings": {
"targetDedicatedNodes": 0,
"targetLowPriorityNodes": 5
},
"virtualMachineConfiguration": {
"imageReference": {...},
"nodeAgentSkuId": "batch.node.ubuntu 20.04"
}
}
Konfiguracja narzędzia Terraform
resource "azurerm_batch_pool" "spot_pool" {
pool_allocation_mode = "UserSubscription"
scale_settings {
target_dedicated_nodes = 0
target_low_priority_nodes = 5
}
virtual_machine_configuration {
image_reference {...}
node_agent_sku_id = "batch.node.ubuntu 20.04"
}
}
Często zadawane pytania
Jak utworzyć konto Batch do alokacji puli subskrypcji użytkownika?
Zobacz przewodnik szybkiego startu aby utworzyć nowe konto Batch w trybie alokacji puli w subskrypcji użytkownika.
Czy maszyny wirtualne typu spot są dostępne w kontach alokacji puli zarządzanych przez usługę Batch?
Nr. Maszyny wirtualne typu spot są dostępne tylko w kontach usługi Batch, gdzie alokacja odbywa się w ramach puli subskrypcji użytkownika.
Czy wystąpienia typu spot są dostępne dla
CloudServiceConfigurationpul?Nr. Instancje typu spot są dostępne tylko dla
VirtualMachineConfigurationpul.CloudServiceConfigurationbaseny zostaną wycofane przed basenami o niższym priorytecie. Zalecamy przeprowadzenie migracji doVirtualMachineConfigurationpul oraz alokacji kont usługi Batch w pulach subskrypcji użytkowników przed tym czasem.Jakie są zasady dotyczące kosztów i usuwania wystąpień typu spot? Czy mogę wyświetlić historię cen i stawki eksmisji?
Tak. W portalu Azure możesz zobaczyć historyczne ceny i stawki eksmisji według rozmiaru w regionie.
Aby uzyskać więcej informacji na temat korzystania z maszyn wirtualnych typu spot, zobacz Spot Virtual Machines (Maszyny wirtualne typu spot).
Czy mogę przenieść przydziały między kontami usługi Batch?
Obecnie nie można przenosić przydziałów między kontami Batch.
Następne kroki
Aby uzyskać szczegółowe informacje na temat różnic między ofertami, ograniczeniami i przykładami wdrażania, zobacz przewodnik dotyczący wystąpienia obliczeniowego usługi Batch Spot.