У меня есть следующий скрипт PowerShell, и я пытаюсь установить 2 правила автомасштабирования для набора масштабов, который есть в Azure.
# 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, они будут работать.
Кто-нибудь испытывал то же самое?