Distribuera Azure Spot Virtual Machines med hjälp av Azure CLI
Gäller för: ✔️ Flexibla skalningsuppsättningar för virtuella Linux-datorer ✔️
Med Azure Spot Virtual Machines kan du dra nytta av vår outnyttjade kapacitet till betydande kostnadsbesparingar. När som helst när Azure behöver tillbaka kapaciteten avlägsnar Azure-infrastrukturen Azure Spot-Virtual Machines. Därför är Azure Spot Virtual Machines bra för arbetsbelastningar som kan hantera avbrott som batchbearbetningsjobb, utvecklings-/testmiljöer, stora beräkningsarbetsbelastningar med mera.
Prissättningen för Azure Spot Virtual Machines är variabel, baserat på region och SKU. Mer information finns i Priser för virtuella datorer för Linux och Windows.
Du har möjlighet att ange ett högsta pris som du är villig att betala per timme för den virtuella datorn. Maxpriset för en virtuell Azure Spot-dator kan anges i US-dollar (USD), med upp till 5 decimaler. Värdet 0.98765
är till exempel ett maxpris på 0,98765 USD per timme. Om du anger maxpriset till -1
tas den virtuella datorn bort baserat på pris. Priset för den virtuella datorn är det aktuella priset för virtuell Azure-dator för oanvänd kapacitet eller priset för en vanlig virtuell dator, vilket någonsin är lägre, så länge det finns kapacitet och kvot tillgänglig. Mer information om hur du anger maxpriset finns i Azure Spot Virtual Machines – Prissättning.
Processen för att skapa en virtuell Azure Spot-dator med Azure CLI är densamma som beskrivs i snabbstartsartikeln. Lägg bara till parametern "--priority Spot", ange --eviction-policy
till antingen Deallocate
(standard) eller Delete
och ange ett maxpris eller -1
.
Installera Azure CLI
Om du vill skapa Azure Spot Virtual Machines måste du köra Azure CLI version 2.0.74 eller senare. Kör az --version om du vill se versionen. Om du behöver installera eller uppgradera kan du läsa informationen i Installera Azure CLI.
Logga in på Azure med az login.
az login
Skapa en virtuell Azure-dator för oanvänd kapacitet
Det här exemplet visar hur du distribuerar en virtuell Linux Azure Spot-dator som inte tas bort baserat på pris. Borttagningsprincipen är inställd på att frigöra den virtuella datorn så att den kan startas om vid ett senare tillfälle. Om du vill ta bort den virtuella datorn och den underliggande disken när den virtuella datorn tas bort anger du --eviction-policy
till Delete
.
az group create -n mySpotGroup -l eastus
az vm create \
--resource-group mySpotGroup \
--name myVM \
--image Ubuntu2204 \
--admin-username azureuser \
--generate-ssh-keys \
--priority Spot \
--max-price -1 \
--eviction-policy Deallocate
När den virtuella datorn har skapats kan du fråga för att se det maximala faktureringspriset för alla virtuella datorer i resursgruppen.
az vm list \
-g mySpotGroup \
--query '[].{Name:name, MaxPrice:billingProfile.maxPrice}' \
--output table
Simulera en avlägsning
Du kan simulera en borttagning av en virtuell Azure Spot-dator med hjälp av REST, PowerShell eller CLI för att testa hur väl programmet svarar på en plötslig borttagning.
I de flesta fall vill du använda REST API-Virtual Machines – Simulera borttagning för att hjälpa till med automatiserad testning av program. För REST innebär det Response Code: 204
att den simulerade borttagningen lyckades. Du kan kombinera simulerade borttagningar med tjänsten Schemalagd händelse för att automatisera hur appen svarar när den virtuella datorn tas bort.
Om du vill se schemalagda händelser i praktiken watch Azure Friday – Använda schemalagda Azure-händelser för att förbereda för underhåll av virtuella datorer.
Kort guide
För ett snabbt test som visar hur en simulerad borttagning fungerar ska vi gå igenom att fråga den schemalagda händelsetjänsten för att se hur det ser ut när du simulerar en borttagning med hjälp av Azure CLI.
Tjänsten Schemalagd händelse är aktiverad för din tjänst första gången du begär händelser.
Fjärranslut till den virtuella datorn och öppna sedan en kommandotolk.
I kommandotolken på den virtuella datorn skriver du:
curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01
Det första svaret kan ta upp till 2 minuter. Från och med nu bör de visa utdata nästan omedelbart.
Från en dator som har Azure CLI installerat (till exempel din lokala dator) simulerar du en borttagning med az vm simulate-eviction. Ersätt resursgruppens namn och VM-namn med ditt eget.
az vm simulate-eviction --resource-group mySpotRG --name mySpot
Svarsutdata har Status: Succeeded
om begäran har gjorts.
Gå snabbt tillbaka till fjärranslutningen till den virtuella datorn för oanvänd kapacitet och fråga slutpunkten Schemalagda händelser igen. Upprepa följande kommando tills du får utdata som innehåller mer information:
curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01
När den schemalagda händelsetjänsten får aviseringsmeddelandet får du ett svar som liknar följande utdata:
{"DocumentIncarnation":1,"Events":[{"EventId":"A123BC45-1234-5678-AB90-ABCDEF123456","EventStatus":"Scheduled","EventType":"Preempt","ResourceType":"VirtualMachine","Resources":["myspotvm"],"NotBefore":"Tue, 16 Mar 2021 00:58:46 GMT","Description":"","EventSource":"Platform"}]}
Du kan se det "EventType":"Preempt"
och resursen är vm-resursen "Resources":["myspotvm"]
.
Du kan också se den virtuella datorns borttagningsvillkor genom att kontrollera "NotBefore"
– den virtuella datorn tas inte bort före den angivna tiden, så det är ditt fönster där ditt program kan stängas på ett smidigt sätt.
Nästa steg
Du kan också skapa en virtuell Azure Spot-dator med hjälp av Azure PowerShell, portalen eller en mall.
Fråga aktuell prisinformation med hjälp av API:et för azure-detaljhandelspriser om du vill ha information om den virtuella Azure-datorn för oanvänd kapacitet. Och meterName
skuName
båda innehåller Spot
.
Om du stöter på ett fel läser du Felkoder.
Feedback
https://aka.ms/ContentUserFeedback.
Kommer snart: Under hela 2024 kommer vi att fasa ut GitHub-problem som feedbackmekanism för innehåll och ersätta det med ett nytt feedbacksystem. Mer information finns i:Skicka och visa feedback för