Azure Spot virtuális gépek üzembe helyezése Resource Manager-sablonnal
A következőkre vonatkozik: ✔️ Linux rendszerű virtuális gépek
Az Azure Spot virtuális gépek használatával jelentős költségmegtakarítással kihasználhatja a kihasználatlan kapacitást. Bármikor, amikor az Azure-nak szüksége van a kapacitásra, az Azure-infrastruktúra kiüríti az Azure Spot virtuális gépeket. Az Azure Spot virtuális gépek nagyszerűen használhatók olyan számítási feladatokhoz, amelyek képesek kezelni az olyan megszakításokat, mint a kötegelt feldolgozási feladatok, a fejlesztési/tesztelési környezetek, a nagy számítási feladatok stb.
Az Azure Spot virtuális gépek díjszabása régiótól és termékváltozattól függően változó. További információ: Linux és Windows rendszerű virtuális gépek díjszabása.
Beállíthatja a virtuális gép óránkénti maximális árát. Az Azure Spot virtuális gépek maximális ára amerikai dollárban (USD) állítható be legfeljebb öt tizedesjegy használatával. Az érték 0.98765
például óránként 0,98765 USD. Ha a maximális árat -1
állítja be, a virtuális gépek kiürítése nem az áron alapul, és az ár az Azure Spot virtuális gépek aktuális ára, vagy egy standard virtuális gép ára lesz, attól függően, hogy melyik alacsonyabb, feltéve, hogy rendelkezésre áll kapacitás és kvóta. A maximális ár beállításával kapcsolatos további információkért tekintse meg az Azure Spot virtuális gépek díjszabását.
Sablon használata
Azure Spot virtuálisgép-sablon üzembe helyezéséhez használja vagy később"apiVersion": "2019-03-01"
. Adja hozzá a priority
, evictionPolicy
és billingProfile
tulajdonságokat a sablonhoz:
"priority": "Spot",
"evictionPolicy": "Deallocate",
"billingProfile": {
"maxPrice": -1
}
Íme egy mintasablon egy Azure Spot virtuális gép hozzáadott tulajdonságaival. Cserélje le az erőforrásneveket a saját nevére és <password>
a virtuális gép helyi rendszergazdai fiókjának jelszavára.
{
"$schema": "http://schema.management.azure.com/schemas/2019-03-01/deploymentTemplate.json#",
"contentVersion": "1.0.0.0",
"parameters": {
},
"variables": {
"vnetId": "/subscriptions/ec9fcd04-e188-48b9-abfc-abcd515f1836/resourceGroups/spotVM/providers/Microsoft.Network/virtualNetworks/spotVM",
"subnetName": "default",
"networkInterfaceName": "spotVMNIC",
"publicIpAddressName": "spotVM-ip",
"publicIpAddressType": "Dynamic",
"publicIpAddressSku": "Basic",
"virtualMachineName": "spotVM",
"osDiskType": "Premium_LRS",
"virtualMachineSize": "Standard_D2s_v3",
"adminUsername": "azureuser",
"adminPassword": "<password>",
"diagnosticsStorageAccountName": "diagstoragespot2019",
"diagnosticsStorageAccountId": "Microsoft.Storage/storageAccounts/diagstoragespot2019",
"diagnosticsStorageAccountType": "Standard_LRS",
"diagnosticsStorageAccountKind": "Storage",
"subnetRef": "[concat(variables('vnetId'), '/subnets/', variables('subnetName'))]"
},
"resources": [
{
"name": "spotVM",
"type": "Microsoft.Network/networkInterfaces",
"apiVersion": "2019-03-01",
"location": "eastus",
"dependsOn": [
"[concat('Microsoft.Network/publicIpAddresses/', variables('publicIpAddressName'))]"
],
"properties": {
"ipConfigurations": [
{
"name": "ipconfig1",
"properties": {
"subnet": {
"id": "[variables('subnetRef')]"
},
"privateIPAllocationMethod": "Dynamic",
"publicIpAddress": {
"id": "[resourceId(resourceGroup().name, 'Microsoft.Network/publicIpAddresses', variables('publicIpAddressName'))]"
}
}
}
]
}
},
{
"name": "[variables('publicIpAddressName')]",
"type": "Microsoft.Network/publicIpAddresses",
"apiVersion": "2019-02-01",
"location": "eastus",
"properties": {
"publicIpAllocationMethod": "[variables('publicIpAddressType')]"
},
"sku": {
"name": "[variables('publicIpAddressSku')]"
}
},
{
"name": "[variables('virtualMachineName')]",
"type": "Microsoft.Compute/virtualMachines",
"apiVersion": "2019-03-01",
"location": "eastus",
"dependsOn": [
"[concat('Microsoft.Network/networkInterfaces/', variables('networkInterfaceName'))]",
"[concat('Microsoft.Storage/storageAccounts/', variables('diagnosticsStorageAccountName'))]"
],
"properties": {
"hardwareProfile": {
"vmSize": "[variables('virtualMachineSize')]"
},
"storageProfile": {
"osDisk": {
"createOption": "fromImage",
"managedDisk": {
"storageAccountType": "[variables('osDiskType')]"
}
},
"imageReference": {
"publisher": "Canonical",
"offer": "UbuntuServer",
"sku": "22.04-LTS",
"version": "latest"
}
},
"networkProfile": {
"networkInterfaces": [
{
"id": "[resourceId('Microsoft.Network/networkInterfaces', variables('networkInterfaceName'))]"
}
]
},
"osProfile": {
"computerName": "[variables('virtualMachineName')]",
"adminUsername": "[variables('adminUsername')]",
"adminPassword": "[variables('adminPassword')]"
},
"diagnosticsProfile": {
"bootDiagnostics": {
"enabled": true,
"storageUri": "[concat('https://', variables('diagnosticsStorageAccountName'), '.blob.core.windows.net/')]"
}
},
"priority": "Spot",
"evictionPolicy": "Deallocate",
"billingProfile": {
"maxPrice": -1
}
}
},
{
"name": "[variables('diagnosticsStorageAccountName')]",
"type": "Microsoft.Storage/storageAccounts",
"apiVersion": "2019-04-01",
"location": "eastus",
"properties": {},
"kind": "[variables('diagnosticsStorageAccountKind')]",
"sku": {
"name": "[variables('diagnosticsStorageAccountType')]"
}
}
],
"outputs": {
"adminUsername": {
"type": "string",
"value": "[variables('adminUsername')]"
}
}
}
Kiürítés szimulálása
Szimulálhatja egy Azure Spot virtuális gép kiürítését , hogy tesztelje az alkalmazás hirtelen kilakoltatásra adott válaszát.
Cserélje le az alábbi paramétereket az adataira:
subscriptionId
resourceGroupName
vmName
POST https://management.azure.com/subscriptions/{subscriptionId}/resourceGroups/{resourceGroupName}/providers/Microsoft.Compute/virtualMachines/{vmName}/simulateEviction?api-version=2020-06-01
Következő lépések
- Azure Spot virtuális gépet is létrehozhat az Azure PowerShell vagy az Azure CLI használatával.
- Az Azure Spot virtuális gépek aktuális díjszabásáról további információt az Azure kiskereskedelmi árak API-járól talál. Mindkettőt
meterName
tartalmazzaSpot
.skuName
- Ha többet szeretne megtudni egy hibáról, tekintse meg a hibakódokat.