#azure #autoscaling #terraform-provider-azure #azure-vm-scale-set
Вопрос:
Я создал набор масштабов виртуальной машины в azure с помощью terraform. Теперь я хочу, чтобы vmss увеличивалась в 2 часа ночи на два и уменьшалась в 3 часа ночи на два. Я не хочу полагаться на свою платформу CI/CD для масштабирования с помощью terraform, но использую встроенное автоматическое масштабирование azure.
Я использую azurerm_monitor_autoscale_setting
для определения параметра автоматического масштабирования:
resource "azurerm_monitor_autoscale_setting" "autoscale_default" {
name = "<thename>"
resource_group_name = "<rgname>"
location = "<location>"
target_resource_id = azurerm_linux_virtual_machine_scale_set.<thevmss>.id
profile {
name = "<profilename>"
capacity {
default = 2
minimum = 2
maximum = 2
}
recurrence {
timezone = "UTC"
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
hours = [3]
minutes = [0]
}
}
profile {
name = "<profilename2>"
capacity {
default = 4
minimum = 4
maximum = 4
}
recurrence {
timezone = "UTC"
days = ["Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday", "Sunday"]
hours = [2]
minutes = [0]
}
}
notification {
email {
send_to_subscription_administrator = false
send_to_subscription_co_administrator = false
custom_emails = ["the@email"]
}
}
}
но, к сожалению, terraform не может создать настройку автоматического масштабирования:
Error: Error creating AutoScale Setting "rulename" (Resource Group "rg-name"): insights.AutoscaleSettingsClient#CreateOrUpdate: Failure sending request: StatusCode=409 -- Original Error: autorest/azure: Service returned an error. Status=<nil> <nil>
Если я проверю журналы действий azure, я увижу, что уже есть один параметр автоматического масштабирования, созданный автоматически ( An autoscale setting already exists for target resource
), который мне нужно импортировать и изменить. Но это намного сложнее сделать с terraform, и мне интересно, есть ли более простой способ контролировать/изменять настройки автоматического масштабирования для моей виртуальной машины.
Я благодарен за любые подсказки и мне любопытно услышать, как вы управляете автоматическим масштабированием vmss с помощью terraform!
Комментарии:
1. существует обходной путь для удаления параметра автоматического масштабирования по умолчанию вручную на портале azure после создания виртуальной машины. после этого вы можете применить настройку автоматического масштабирования IaC. это работает в моем случае, но только до тех пор, пока vmss не будет удалена и воссоздана через IaC (что является обычным/важным случаем)…