我具有以下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门户中更新规则,它们将起作用。
有人经历过吗?
答案 0 :(得分:3)
你是对的。 这是Azure PowerShell版本6.8.1中的一个已知错误 产品团队正在为此进行修复。同时,我们还将使用此信息来更新文档。
对于给您带来的不便,我们深表歉意,并丢失了此信息。
解决方法是在较低的PowerShell版本中执行此操作。
运行Get-Module -ListAvailable AzureRM
以查找版本。如果您需要升级,请参见Install Azure PowerShell module。