Я пытаюсь настроить конвейер непрерывной доставки для своих шаблонов ARM в Azure. Шаблон содержит определение ресурса для масштабируемого набора с некоторым начальным количеством настроенных экземпляров, а также правила автомасштабирования.
Пример подобной конфигурации: https://github.com/Azure/azure-quickstart-templates/tree/master/201-vmss-windows-autoscale
Проблема, с которой я сталкиваюсь, заключается в том, что каждый раз, когда происходит развертывание шаблона, количество узлов в масштабируемом наборе сбрасывается до значения, указанного в шаблоне.
Пример: В определении ресурса масштабируемого набора есть следующие значения:
"sku": {
"name": "[parameters('vmSku')]",
"tier": "Standard",
"capacity": "3"
}
А в настройках автомасштабирования есть следующие значения:
"capacity": {
"minimum": "2",
"maximum": "5",
"default": "4"
}
Плюс некоторые базовые правила для ЦП для увеличения и уменьшения масштаба.
Теперь предположим, что при большой нагрузке механизм автомасштабирования увеличивает количество узлов до 5, что является максимальным значением. Если в этот момент я повторно разверну тот же шаблон ARM, который я использовал для создания кластера, количество узлов мгновенно сбрасывается до 3, два узла переходят в состояние удаления, и системе необходимо снова масштабироваться, что для меня не имеет смысла.
Есть ли способ отключить это поведение или мне нужно поддерживать два шаблона ARM, один для инициализации, а другой для обновления для использования в моем конвейере компакт-дисков? Какая лучшая практика?