Aracılığıyla paylaş


Azure CLI kullanarak Azure Spot Sanal Makineler dağıtma

Şunlar için geçerlidir: ✔️ Linux VM'leri ✔️ Esnek ölçek kümeleri

Azure Spot Sanal Makineler kullanmak, kullanılmayan kapasitemizden önemli bir maliyet tasarrufuyla yararlanmanızı sağlar. Azure'ın kapasiteyi geri alması gereken herhangi bir zamanda Azure altyapısı Azure Spot Sanal Makineler çıkartır. Bu nedenle Azure Spot Sanal Makineler toplu işleme işleri, geliştirme/test ortamları, büyük işlem iş yükleri ve daha fazlası gibi kesintileri işleyebilen iş yükleri için idealdir.

Azure Spot Sanal Makineler fiyatlandırması, bölgeye ve SKU'ya göre değişkendir. Daha fazla bilgi için bkz. Linux ve Windows için VM fiyatlandırması.

VM için saat başına ödemek istediğiniz maksimum fiyatı belirleme seçeneğiniz vardır. Azure Spot Sanal Makinesi için en fazla 5 ondalık basamak kullanılarak en yüksek fiyat ABD doları (USD) cinsinden ayarlanabilir. Örneğin, değer 0.98765 saatte en fazla 0,98765 ABD doları fiyattır. En yüksek fiyatı olarak -1ayarlarsanız, VM fiyata göre çıkarılır. VM'nin fiyatı, Azure Spot Sanal Makinesi'nin geçerli fiyatı veya kapasite ve kota olduğu sürece daha az olan standart bir VM'nin fiyatıdır. En yüksek fiyatı ayarlama hakkında daha fazla bilgi için bkz. Azure Spot Sanal Makineler - Fiyatlandırma.

Azure CLI kullanarak Azure Spot Sanal Makinesi oluşturma işlemi, hızlı başlangıç makalesindeki ayrıntılı işlemle aynıdır. '--priority Spot' parametresini ekleyin, parametresini --eviction-policy Deallocate (varsayılan) veya Deleteolarak ayarlayın ve maksimum fiyat veya -1sağlayın.

Azure CLI'yı yükleme

Azure Spot Sanal Makineler oluşturmak için Azure CLI 2.0.74 veya sonraki bir sürümünü çalıştırıyor olmanız gerekir. Sürümü bulmak için az --version komutunu çalıştırın. Yükleme veya yükseltme yapmanız gerekirse bkz. Azure CLI'yı yükleme.

az login kullanarak Azure'da oturum açın.

az login

Azure Spot Sanal Makinesi oluşturma

Bu örnekte, fiyat temelinde çıkarılmayan bir Linux Azure Spot Sanal Makinesinin nasıl dağıtılacağı gösterilmektedir. Çıkarma ilkesi VM'yi serbest bırakacak şekilde ayarlanmıştır, böylece daha sonra yeniden başlatılabilir. VM çıkarıldığında VM'yi ve temel alınan diski silmek istiyorsanız olarak ayarlayın --eviction-policy 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

VM oluşturulduktan sonra, kaynak grubundaki tüm VM'ler için en yüksek faturalama fiyatını görmek için sorgulayabilirsiniz.

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

Çıkarmanın simülasyonunu yapma

Uygulamanızın ani çıkarma işlemlerine ne kadar iyi yanıt verdiğini test etmek için REST, PowerShell veya CLI kullanarak Azure Spot Sanal Makinesi çıkarma işleminin benzetimini yapabilirsiniz.

Çoğu durumda, uygulamaların otomatik olarak test edilmesine yardımcı olmak için REST API Sanal Makineler - Benzetim Çıkarma'yı kullanmak istersiniz. REST için, Response Code: 204 simülasyon çıkarma işleminin başarılı olduğu anlamına gelir. Sanal makine çıkarıldığında uygulamanızın nasıl yanıt vereceğini otomatikleştirmek için simülasyon çıkarmalarını Zamanlanmış Olay hizmetiyle birleştirebilirsiniz.

Zamanlanmış olayları iş başında görmek için, VM bakımına hazırlanmak için Azure Friday - Azure Zamanlanmış Olayları Kullanma'yı izleyin.

Hızlı test

Simülasyon çıkarma işleminin nasıl çalıştığını gösteren hızlı bir test için, Azure CLI kullanarak çıkarma işleminin benzetimini yaparken nasıl göründüğünü görmek için zamanlanmış olay hizmetini sorgulamaya göz atalım.

Zamanlanmış Olay hizmeti, olaylar için ilk istekte bulunurken hizmetiniz için etkinleştirilir.

VM'nize uzaktan bağlanıp bir komut istemi açın.

VM'nizdeki komut isteminden şunu yazın:

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

Bu ilk yanıt 2 dakika kadar sürebilir. Bundan sonra, çıkışı hemen görüntülemeleri gerekir.

Azure CLI'nın yüklü olduğu bir bilgisayardan (yerel makineniz gibi), az vm simulate-eviction kullanarak çıkarma simülasyonu oluşturun. Kaynak grubu adını ve VM adını kendi adınızla değiştirin.

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

İstek başarıyla yapıldıysa yanıt çıkışında vardır Status: Succeeded .

Spot Sanal Makinenize uzak bağlantınıza hızla geri dönün ve Zamanlanmış Olaylar uç noktasını yeniden sorgulayın. Daha fazla bilgi içeren bir çıkış elde edene kadar aşağıdaki komutu yineleyin:

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

Zamanlanan Olay Hizmeti çıkarma bildirimini aldığında, aşağıdaki çıkışa benzer bir yanıt alırsınız:

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

öğesini ve kaynağın vm kaynağı "Resources":["myspotvm"]olduğunu görebilirsiniz"EventType":"Preempt".

Vm'nin çıkarma koşulunu, verilen süreden önce çıkarılmadığından, uygulamanızın düzgün bir şekilde kapatılması için kullanabileceğiniz bir pencere olduğundan, vm'nin çıkarma koşulunu "NotBefore" da görebilirsiniz.

Sonraki adımlar

Ayrıca Azure PowerShell, portal veya şablon kullanarak bir Azure Spot Sanal Makinesi de oluşturabilirsiniz.

Azure Spot Sanal Makinesi hakkında bilgi için Azure perakende fiyatları API'sini kullanarak geçerli fiyatlandırma bilgilerini sorgula. meterName ve skuName her ikisi de içerirSpot.

Bir hatayla karşılaşırsanız bkz . Hata kodları.