具有服务结构群集自动缩放的 VMSS

Posted

技术标签:

【中文标题】具有服务结构群集自动缩放的 VMSS【英文标题】:VMSS with service fabric cluster autoscale 【发布时间】:2017-01-18 16:31:32 【问题描述】:

我想在服务结构应用程序中横向扩展或扩展。为此,我在 VM 规模集上添加了带有 CPU 指标的自动缩放设置。在 VM 规模集中,我有带有 wadcfg 部分的扩展部分和 CPU 指标计数器。并且数据已成功发送到我指定的存储帐户。但是 VMSS 和服务结构集群并没有完成扩展或扩展选项。我已经完成了 azure 门户中指定的故障排除步骤。https://azure.microsoft.com/en-us/documentation/articles/virtual-machine-scale-sets-troubleshoot/

在没有服务结构的情况下,相同的 CPU 指标运行良好,并且 VM 规模集正在向外扩展。

也检查了订阅限制。但是找不到问题。但是,我们收到一封邮件通知说,当 vmss 和服务结构一起部署时,无法读取自动缩放的诊断数据。

【问题讨论】:

【参考方案1】:

Service Fabric 确实支持 AutoScale,只是没有很好的文档记录。这是一个基本文档 - https://azure.microsoft.com/en-us/documentation/articles/service-fabric-cluster-scale-up-down/,它使用“XmlCfg”元素来配置计数器。然而,也有一种方法可以通过 JSON 来实现,它更具可读性。这是来自“IaaSDiagnostics”扩展的“设置”块的 sn-p。

注意“DiagnosticMonitorConfiguration”下包含“PerformanceCounters”和“Metrics”元素。


  "name": "Windows_VMDiagnosticsVmExt",
  "properties": 
    "type": "IaaSDiagnostics",
    "autoUpgradeMinorVersion": true,
    "protectedSettings": 
      "storageAccountName": "[variables('applicationDiagnosticsStorageAccountName')]",
      "storageAccountKey": "[listKeys(resourceId('Microsoft.Storage/storageAccounts', variables('applicationDiagnosticsStorageAccountName')),'2016-01-01').keys[0].value]",
      "storageAccountEndPoint": "https://core.windows.net/"
    ,
    "publisher": "Microsoft.Azure.Diagnostics",
    "settings": 
      "WadCfg": 
        "DiagnosticMonitorConfiguration": 
          "overallQuotaInMB": "50000",
          "PerformanceCounters": 
            "PerformanceCounterConfiguration": [
              
                "annotation": [],
                "scheduledTransferPeriod": "PT1M",
                "counterSpecifier": "\\Processor(_Total)\\% Processor Time",
                "sampleRate": "PT1M"
              ,
              
                "annotation": [],
                "scheduledTransferPeriod": "PT1M",
                "counterSpecifier": "\\Memory\\% Committed Bytes in Use",
                "sampleRate": "PT1M"
              
            ]
          ,
          "Metrics": 
            "resourceId": "[resourceId('Microsoft.Compute/virtualMachineScaleSets', variables('defaultVMNodeTypeName'))]",
            "MetricAggregation": [
               "scheduledTransferPeriod": "PT1H" ,
               "scheduledTransferPeriod": "PT1M" 
            ]
          ,
          "EtwProviders": 
            "EtwEventSourceProviderConfiguration": [
              
                "provider": "Microsoft-ServiceFabric-Actors",
                "scheduledTransferKeywordFilter": "1",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": 
                  "eventDestination": "ServiceFabricReliableActorEventTable"
                
              ,
              
                "provider": "Microsoft-ServiceFabric-Services",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": 
                  "eventDestination": "ServiceFabricReliableServiceEventTable"
                
              
            ],
            "EtwManifestProviderConfiguration": [
              
                "provider": "cbd93bc2-71e5-4566-b3a7-595d8eeca6e8",
                "scheduledTransferLogLevelFilter": "Information",
                "scheduledTransferKeywordFilter": "4611686018427387904",
                "scheduledTransferPeriod": "PT5M",
                "DefaultEvents": 
                  "eventDestination": "ServiceFabricSystemEventTable"
                
              
            ]
          
        
      ,
      "StorageAccount": "[variables('applicationDiagnosticsStorageAccountName')]"
    ,
    "typeHandlerVersion": "1.5"
  

【讨论】:

谢谢斯坦科夫斯基。在您建议的上述更改之后,我可以看到带有 Service Fabric 群集的 azure 自动缩放工作正常。我们错过的主要部分是“指标”,添加后,azure auto scale 工作正常。 澄清一下,目前,Service Fabric 不完全支持自动缩放。支持放大,不支持缩小。

以上是关于具有服务结构群集自动缩放的 VMSS的主要内容,如果未能解决你的问题,请参考以下文章

启用VMSS Autoscale报警功能

启用VMSS Autoscale报警功能

使用ARM模板部署自动扩展的Linux VMSS

使用ARM模板部署自动扩展的Linux VMSS

如何在 Application Insights 中获取 VMSS 的实例数?

深入理解Azure自动扩展集VMSS