Nasazení spotových virtuálních počítačů Azure pomocí Azure CLI

Platí pro: ✔️ Flexibilní škálovací sady virtuálních počítačů s Linuxem ✔️

Použití spotových virtuálních počítačů Azure vám umožňuje využít výhod naší nevyužité kapacity za významné úspory nákladů. V jakémkoli okamžiku, kdy Azure potřebuje kapacitu zpět, infrastruktura Azure vyřadí spotové virtuální počítače Azure. Proto jsou spotové virtuální počítače Azure skvělé pro úlohy, které dokážou zvládnout přerušení, jako jsou úlohy dávkového zpracování, vývojové/testovací prostředí, velké výpočetní úlohy a další.

Ceny spotových virtuálních počítačů Azure jsou proměnné na základě oblasti a skladové položky. Další informace najdete v tématu Ceny virtuálních počítačů pro Linux a Windows.

Pro virtuální počítač máte možnost nastavit maximální cenu, kterou jste ochotni zaplatit za hodinu. Maximální cena spotového virtuálního počítače Azure se dá nastavit v amerických dolarech (USD), a to až na 5 desetinných míst. Hodnota je například 0.98765 maximální cena 0,98765 USD za hodinu. Pokud nastavíte maximální cenu -1, virtuální počítač se vyřadí na základě ceny. Cena virtuálního počítače je aktuální cena za spotový virtuální počítač Azure nebo cena za standardní virtuální počítač, který je stále nižší, pokud je k dispozici kapacita a kvóta. Další informace o nastavení maximální ceny najdete v tématu Azure Spot Virtual Machines – ceny.

Proces vytvoření spotového virtuálního počítače Azure pomocí Azure CLI je stejný jako podrobný postup v článku rychlého startu. Stačí přidat parametr --priority Spot, nastavit --eviction-policy hodnotu buď Deallocate (výchozí), nebo Deletea zadat maximální cenu nebo -1.

Instalace rozhraní příkazového řádku Azure

Pokud chcete vytvořit spotové virtuální počítače Azure, musíte používat Azure CLI verze 2.0.74 nebo novější. Verzi zjistíte spuštěním příkazu az --version. Pokud potřebujete instalaci nebo upgrade, přečtěte si téma Instalace rozhraní příkazového řádku Azure CLI.

Přihlaste se k Azure pomocí příkazu az login.

az login

Vytvoření spotového virtuálního počítače Azure

Tento příklad ukazuje, jak nasadit spotový virtuální počítač Azure s Linuxem, který se nevyřazuje na základě ceny. Zásada vyřazení je nastavená na uvolnění virtuálního počítače, aby bylo možné ho později restartovat. Pokud chcete odstranit virtuální počítač a základní disk při vyřazení virtuálního počítače, nastavte na Deletehodnotu --eviction-policy .

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

Po vytvoření virtuálního počítače se můžete dotazem podívat na maximální fakturační cenu pro všechny virtuální počítače ve skupině prostředků.

az vm list \
   -g mySpotGroup \
   --query '[].{Name:name, MaxPrice:billingProfile.maxPrice}' \
   --output table

Simulace vyřazení

Vyřazení virtuálního počítače Azure Spot můžete simulovat pomocí REST, PowerShellu nebo rozhraní příkazového řádku a otestovat, jak dobře vaše aplikace reaguje na náhlé vyřazení.

Ve většině případů chcete použít virtuální počítače ROZHRANÍ REST API – Simulace vyřazení , které vám pomůžou s automatizovaným testováním aplikací. U REST znamená, Response Code: 204 že simulované vyřazení bylo úspěšné. Simulované vyřazení můžete kombinovat se službou Naplánovaná událost a automatizovat způsob reakce aplikace při vyřazení virtuálního počítače.

Pokud chcete zobrazit naplánované události v akci, podívejte se na Azure Friday – Příprava na údržbu virtuálních počítačů pomocí plánovaných událostí Azure.

Rychlý test

Rychlý test, který ukazuje, jak simulované vyřazení funguje, si projdeme dotazování na naplánovanou službu událostí a podívejme se, jak vypadá, když simulujete vyřazení pomocí Azure CLI.

Služba Naplánovaná událost je pro vaši službu povolená při prvním zadání požadavku na události.

Vzdáleně přejděte k virtuálnímu počítači a otevřete příkazový řádek.

Na příkazovém řádku na virtuálním počítači zadejte:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Tato první odpověď může trvat až 2 minuty. Od této chvíle by se měl zobrazit výstup téměř okamžitě.

Z počítače s nainstalovaným Rozhraním příkazového řádku Azure (jako je místní počítač) simulujte vyřazení pomocí příkazu az vm simulate-eviction. Nahraďte název skupiny prostředků a název virtuálního počítače vlastním názvem.

az vm simulate-eviction --resource-group mySpotRG --name mySpot

Výstup odpovědi obsahuje Status: Succeeded , pokud byl požadavek úspěšně proveden.

Rychle se vraťte ke vzdálenému připojení k spotovém virtuálnímu počítači a znovu zadejte dotaz na koncový bod Naplánované události. Opakujte následující příkaz, dokud nedostanete výstup, který obsahuje další informace:

curl -H Metadata:true http://169.254.169.254/metadata/scheduledevents?api-version=2019-08-01

Když služba naplánované události obdrží oznámení o vyřazení, obdržíte odpověď, která vypadá podobně jako v následujícím výstupu:

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

Vidíte, že "EventType":"Preempt"prostředek je prostředek virtuálního počítače "Resources":["myspotvm"].

Podmínku vyřazení virtuálního počítače můžete zobrazit také tak, že zkontrolujete "NotBefore" , že virtuální počítač se před daným časem nevyřadí, takže to je okno, ve které se vaše aplikace může elegantně zavřít.

Další kroky

Můžete také vytvořit spotový virtuální počítač Azure pomocí Azure PowerShellu, portálu nebo šablony.

Zadejte dotaz na aktuální informace o cenách pomocí rozhraní API maloobchodních cen Azure, kde najdete informace o spotovém virtuálním počítači Azure. skuName Oba meterName obsahují Spot.

Pokud dojde k chybě, podívejte se na kódy chyb.