2015-07-21 48 views
3

我創建了一個基於模板的部署,該模板部署過量配置了多個Linux VM。我想根據經典實例自動調整它們,Azure會根據CPU負載打開/關閉實例。以模板方式在ARM模式下自動縮放IaaS VM

這可能與ARM模式?如果沒有,是否有建議的替代方法?我能找到的唯一例子是使用Application Insights和PaaS功能。我有一個在Ubuntu主機上運行Docker的Python應用程序。

回答

0

爲此,您首先需要爲VM創建一個可用性組。在ARM模板的資源decleration看起來是這樣的:

{ 
"type": "Microsoft.Compute/availabilitySets", 
    "name": "[variables('availabilitySetName')]", 
    "apiVersion": "2015-05-01-preview", 
    "location": "[parameters('location')]", 
    "properties": { 
     "platformFaultDomainCount": "2" 
    } 
} 

然後虛擬機資源在ARM模板的decliration會是這個樣子:

{ 
      "apiVersion": "2015-05-01-preview", 
      "type": "Microsoft.Compute/virtualMachines", 
      "name": "[concat(variables('vmName'), '0')]", 
      "location": "[parameters('location')]", 
      "dependsOn": [ 
       "[concat('Microsoft.Storage/storageAccounts/', parameters('newStorageAccountName'))]", 
       "[concat('Microsoft.Network/networkInterfaces/', variables('nicName'), '0')]", 
       "[concat('Microsoft.Compute/availabilitySets/', variables('availabilitySetName'))]" 
      ], 
      "properties": { 
       "availabilitySet": { 
        "id": "[resourceId('Microsoft.Compute/availabilitySets', variables('availabilitySetName'))]" 
       }, 
     ...}, 

的quckstart模板是一個很好的ref:https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-2-vms-2-FDs-no-resource-loops/azuredeploy.json

在可用性集合中有兩個或更多相同大小的VM後,您可以使用microsoft.insights/autoscalesettings配置自動縮放,我相信您在問題中引用了該自動縮放。這是在雲服務這樣做,將工作類似的PaaS ......像這樣:

{ 
     "apiVersion": "2014-04-01", 
     "name": "[concat(variables('vmName'), '-', resourceGroup().name)]", 
     "type": "microsoft.insights/autoscalesettings", 
     "location": "East US", 
     ...}, 

一個非常不錯的例子是在這裏:https://raw.githubusercontent.com/Azure/azure-quickstart-templates/6abc9f320e39d9d75dffb60846e88ab80d3ff33a/201-web-app-sql-database/azuredeploy.json

我使用門戶網站第一,並審查ARMExplorer還設置自動定標以更好地瞭解我的代碼中應該看起來如何。 ARMExplorer在這裏:Azure Resource Explorer

+0

感謝您的指點。我確實爲我的虛擬機設置了可用性。我沒有的是雲服務,而是使用一個publicIP和負載均衡器,根據[本文](http://blogs.msdn.com/b/cloud_solution_architect/archive/2015/05/05/creating-azure -vms-with-arm-powershell-cmdlets.aspx),這表明雲服務在ARM中已被棄用?當它適用於虛擬機時,您是否有完整的自動縮放節的示例? targetResourceUri指向什麼等?感謝您瀏覽資源管理器的鏈接,瞭解這一點非常有用! – Stephen

+0

你在這裏評論的問題中找到答案嗎? –

1

對於IaaS,您必須使用虛擬機縮放集才能使用自動縮放,否則您需要使用PaaS(Web應用程序)。