Azure 自动缩放规则映射不正确

Azure Autoscale Rules mapped incorrectly

我有以下 Powershell 脚本,我正在尝试为我在 Azure 中的规模集设置 2 个自动缩放规则。

# Scale Out Rule 
$rule1 = New-AzureRmAutoscaleRule `
  -MetricName "Percentage CPU" `
  -MetricResourceId /subscriptions/$mySubscriptionId/resourceGroups/$myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$myScaleSet `
  -Operator GreaterThanOrEqual `
  -MetricStatistic Average `
  -Threshold 50 `
  -TimeGrain 00:01:00 `
  -TimeWindow 00:05:00 `
  -ScaleActionCooldown 00:01:00 `
  -ScaleActionDirection Increase `
  -ScaleActionScaleType ChangeCount `
  -ScaleActionValue 1

# Scale In Rule
$rule2 = New-AzureRmAutoscaleRule `
  -MetricName "Percentage CPU" `
  -MetricResourceId /subscriptions/$mySubscriptionId/resourceGroups/$myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$myScaleSet `
  -Operator LessThanOrEqual `
  -MetricStatistic Average `
  -Threshold 30 `
  -TimeGrain 00:01:00 `
  -TimeWindow 00:05:00 `
  -ScaleActionCooldown 00:01:00 `
  -ScaleActionDirection Decrease `
  -ScaleActionScaleType ChangeCount `
  -ScaleActionValue 1

$profile = New-AzureRmAutoscaleProfile `
-DefaultCapacity "2" `
-MaximumCapacity "10" `
-MinimumCapacity "2" `
-Rule $rule1,$rule2 `
-Name "elastic-profile"


Add-AzureRmAutoscaleSetting `
  -Location $myLocation `
  -Name "elastic-setting" `
  -ResourceGroup $myResourceGroup `
  -TargetResourceId /subscriptions/$mySubscriptionId/resourceGroups/$myResourceGroup/providers/Microsoft.Compute/virtualMachineScaleSets/$myScaleSet `
  -AutoscaleProfile $profile

我 运行 脚本时没有收到错误。 现在的问题是: 在 Azure 中,规则没有正确映射;见下图:

.json 看起来像这样:

由于脚本显然没有被正确解析,自动缩放不起作用。

如果我更新 Azure 门户中的规则,它们就会起作用。

有没有人遇到过同样的情况?

你是对的。 这是 Azure PowerShell 版本 6.8.1 中的一个已知错误 产品团队正在努力解决这个问题。同时,我们还使用这些信息更新了文档。

很抱歉给您带来的不便,因为您正在关注文档并且缺少此信息。

解决方法是在较低的 PowerShell 版本中执行此操作。

运行 Get-Module -ListAvailable AzureRM 查找版本。如需升级,见Install Azure PowerShell module.