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

时间:2018-11-02 10:55:40

标签: azure powershell autoscaling azure-vm-scale-set

我具有以下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中,规则无法正确映射;参见下图:

Rules

.json看起来像这样:

rules json

由于脚本显然无法正确解析,因此自动缩放不起作用。

如果我在Azure门户中更新规则,它们将起作用。

有人经历过吗?

1 个答案:

答案 0 :(得分:3)

你是对的。 这是Azure PowerShell版本6.8.1中的一个已知错误 产品团队正在为此进行修复。同时,我们还将使用此信息来更新文档。

对于给您带来的不便,我们深表歉意,并丢失了此信息。

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

运行Get-Module -ListAvailable AzureRM以查找版本。如果您需要升级,请参见Install Azure PowerShell module