3

多数の Linux VM を過剰にプロビジョニングするテンプレート ベースのデプロイを作成しました。Azure が CPU 負荷に応じてインスタンスをオン/オフする従来のインスタンスに従って、それらを自動スケーリングしたいと考えています。

これはARMモードで可能ですか?そうでない場合、推奨される代替方法はありますか? 私が見つけた唯一の例は、Application Insights と PaaS 機能の使用に関するものです。Ubuntu ホストの Docker で Python アプリを実行しています。

4

2 に答える 2

1

IaaS の場合、仮想マシン スケール セットを使用して自動スケールを使用する必要があります。それ以外の場合は、PaaS (Web アプリ) を使用する必要があります。

于 2016-04-05T13:19:24.757 に答える
0

このためには、最初に VM の可用性グループを作成する必要があります。ARM テンプレートのリソース宣言は次のようになります。

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

次に、仮想マシン リソースの場合、ARM テンプレートの宣言は次のようになります。

    {
            "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'))]"
                }, 
      ...},

クイックスタート テンプレートは良い参照です: https://raw.githubusercontent.com/azure/azure-quickstart-templates/master/201-2-vms-2-FDs-no-resource-loops/azuredeploy.json

可用性セットに同じサイズの VM が 2 つ以上ある場合は、microsoft.insights/autoscalesettings を使用して自動スケーリングを構成します。これはクラウド サービスで行われるため、PaaS と同様に機能します...次のようになります。

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

かなり良い例は次のとおりです

また、最初にポータルを使用して自動スケーリングをセットアップし、ARMExplorer を確認して、コードでどのように表示されるかをよりよく理解しました。ARMExplorer はこちら: Azure リソース エクスプローラー

于 2015-07-21T19:58:02.237 に答える