Nasazení Azure Spot Virtual Machines pomocí Azure CLI

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

Použití Služby Azure Spot Virtual Machines vám umožní využít výhod naší nevyužité kapacity s významnou úsporou nákladů. Kdykoli v okamžiku, kdy Azure potřebuje kapacitu zpět, infrastruktura Azure vyřadí Azure Spot Virtual Machines. Proto jsou spotové Virtual Machines 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 Virtual Machines Azure jsou proměnlivé na základě oblasti a skladové položky. Další informace najdete v tématu Ceny virtuálních počítačů pro Linux a Windows.

Máte možnost nastavit maximální cenu, kterou jste ochotni za virtuální počítač platit za hodinu. Maximální cena spotového virtuálního počítače Azure se dá nastavit v amerických dolarech (USD) s použitím až 5 desetinných míst. Hodnota 0.98765 je například maximální cena 0,98765 USD za hodinu. Pokud nastavíte maximální cenu na -1hodnotu , 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.

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

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

Pokud chcete vytvořit Azure Spot Virtual Machines, 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ý není vyřazen 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 --eviction-policy na Deletehodnotu .

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 můžete dotazem zobrazit 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í spotového virtuálního počítače Azure 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 rozhraní REST API Virtual Machines – Simulovat vyřazení, které vám pomůže s automatizovaným testováním aplikací. V případě REST znamená, Response Code: 204 že simulované vyřazení bylo úspěšné. Simulovaná vyřazení můžete kombinovat se službou naplánovaných událostí a automatizovat tak, jak vaše aplikace reaguje na vyřazení virtuálního počítače.

Pokud chcete zobrazit naplánované události v akci, watch Azure Friday – Použití plánovaných událostí Azure k přípravě na údržbu virtuálních počítačů.

Rychlý test

Rychlý test, který ukazuje, jak simulované vyřazení funguje, si projdeme dotazováním služby naplánovaných událostí, abyste zjistili, jak vypadá, když simulujete vyřazení pomocí Azure CLI.

Služba Naplánované události 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 pak otevřete příkazový řádek.

Z příkazového řá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 měly zobrazovat výstup téměř okamžitě.

Z počítače s nainstalovaným Rozhraním příkazového řádku Azure (jako je váš 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í ke spotovém virtuálnímu počítači a znovu se dotazujte koncového bodu naplánovaných událostí. Opakujte následující příkaz, dokud se nezobrazí 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ých událostí obdrží oznámení o vyřazení, zobrazí se odpověď podobná následujícímu 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"}]}

Uvidíte, že "EventType":"Preempt"a 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 zaškrtnete políčko "NotBefore" – virtuální počítač se nevypustí před uplynutím zadaného času, takže se vaše okno pro řádné zavření aplikace.

Další kroky

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

Pokud chcete získat informace o spotovém virtuálním počítači Azure, můžete se dotazovat na aktuální informace o cenách pomocí rozhraní API maloobchodních cen Azure. Oba objekty meterName a skuName obsahují Spot.

Pokud narazíte na chybu, přečtěte si téma Kódy chyb.