Nasazení spotové Virtual Machines Azure pomocí Azure CLI

Platí pro: ✔️ Virtuální počítače s Linuxem ✔️ Flexibilní škálovací sady

Azure Spot Virtual Machines vám umožní využít nevyužitou kapacitu s výraznou úsporou nákladů. V jakémkoli okamžiku, kdy Azure potřebuje kapacitu zpět, vyřazení infrastruktury Azure Spot Virtual Machines. Azure Spot Virtual Machines proto skvěle využívá úlohy, které zvládnou přerušení, jako jsou úlohy dávkového zpracování, vývojová a testovací prostředí, velké výpočetní úlohy a další.

Ceny spotových Virtual Machines Azure jsou proměnlivé v závislosti na oblasti a SKU. Další informace najdete v tématu Ceny virtuálních počítačů pro Linux a Windows.

Máte možnost nastavit maximální cenu virtuálního počítače, kterou jste ochotni zaplatit za hodinu. Maximální cenu spotového virtuálního počítače Azure je možné nastavit v usdech s použitím až 5 desetinných míst. Například hodnota by byla 0.98765 maximální cena 0,98765 USD za hodinu. Pokud nastavíte maximální cenu na , virtuální počítač se nevyhodí -1 na základě ceny. Cena za virtuální počítač bude aktuální cena za spotový virtuální počítač Azure nebo cena za standardní virtuální počítač, který je vždy 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 na --eviction-policy hodnotu Buď Deallocate (výchozí nastavení), nebo a zadat maximální cenu Delete nebo -1 .

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

Pokud chcete vytvořit azure spotový Virtual Machines, musíte mít 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ý nebude vyřazen na základě ceny. Zásada vyhřešování je nastavená tak, aby se virtuální počítač uloil, aby ho bylo možné později restartovat. Pokud chcete při vyřazení virtuálního počítače odstranit virtuální počítač a základní disk, nastavte --eviction-policy na Delete .

az group create -n mySpotGroup -l eastus
az vm create \
    --resource-group mySpotGroup \
    --name myVM \
    --image UbuntuLTS \
    --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í

Pomocí REST, PowerShellu nebo rozhraní příkazového řádku můžete simulovat vyzení spotového virtuálního počítače Azure, abyste otestovali, jak dobře bude vaše aplikace reagovat na náhlé vyhození.

Ve většině případů budete chtít použít REST API Virtual Machines – Simulovat vy vyřazení, který vám pomůže s automatizovaným testováním aplikací. V případě REST Response Code: 204 znamená, že simulované vyzení bylo úspěšné. Simulovaná vyřazení můžete kombinovat se službou Naplánovanáudálost a automatizovat tak, jak bude aplikace reagovat 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 – Využití Azure Scheduled Events a připravte se na údržbu virtuálního počítače.

Rychlý test

Pro rychlý test, který ukazuje, jak bude fungovat simulované vycházení, si projdeme dotazování služby naplánované události, abyste viděli, jak vypadá při simulaci vy vyřazení pomocí Azure CLI.

Služba Naplánovaná událost je pro vaši službu povolená při prvním vyžádání událostí.

Vzdáleně se ke svému virtuálnímu počítači a pak 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. Odtedka by měl téměř okamžitě zobrazit výstup.

Na počítači s nainstalovaným Azure CLI (například na místním počítači) simulujte vy eviction 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 bude Status: Succeeded mít, pokud byl požadavek úspěšně proveden.

Rychle se vraťte ke vzdálenému připojení k spotovému virtuálnímu počítači a znovu Scheduled Events koncového bodu. Opakujte následující příkaz, dokud nezískute 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 Scheduled Event Service obdrží oznámení o vyházení, obdržíte odpověď, která vypadá podobně jako tato:

{"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" a prostředek je prostředek virtuálního počítače "Resources":["myspotvm"] .

Můžete také zjistit, kdy bude virtuální počítač vyřazen, kontrolou – virtuální počítač se před daným časem nevyřazen, takže to je okno, ve které se vaše aplikace řádně "NotBefore" zavře.

Další kroky

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

Informace o spotových virtuálních počítači Azure získáte dotazem na aktuální informace o cenách pomocí rozhraní API pro maloobchodní ceny Azure. A meterName skuName budou obsahovat Spot .

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