Добавление расширения Desired State Configuration к VMSS сервисной фабрики

Недавно нам потребовалось добавить расширение Microsoft.Powershell.DSC к нашей VMSS, которая содержит наш кластер Service Fabric. Мы повторно развернули кластер, используя наш шаблон ARM, с добавлением нового расширения для DSC. Во время развертывания мы заметили, что до 4 из 5 экземпляров масштабируемого набора в данный момент времени находились на стадии перезапуска. Сервисы в нашем кластере в это время также не отвечали. Отключение длилось всего несколько минут, но похоже, что этого не должно произойти.

  • Уровень надежности: серебро
  • Уровень прочности: бронза

person Jeff Bailey    schedule 02.08.2017    source источник
comment
Для разъяснения и других, чтобы узнать из этого, означало ли это, что состояние было потеряно, или вы только испытали сбой?   -  person Poul K. Sørensen    schedule 07.08.2017
comment
У нас произошел сбой. У нас есть приложения как без отслеживания состояния, так и с отслеживанием состояния. Я тестировал приложение без сохранения состояния, пока применялось обновление. Я не верю, что во время обновления было потеряно какое-либо состояние.   -  person Jeff Bailey    schedule 07.08.2017


Ответы (2)


Это вызвано выбранной долговечностью уровень «бронза».

Уровень устойчивости используется для указания системе привилегий, которые ваши виртуальные машины имеют в отношении базовой инфраструктуры Azure. В типе основного узла эта привилегия позволяет Service Fabric приостанавливать любой запрос инфраструктуры уровня виртуальной машины (например, перезагрузку виртуальной машины, повторное создание образа виртуальной машины или миграцию виртуальной машины), которые влияют на требования кворума для системных служб и служб с отслеживанием состояния. В типах неосновных узлов эта привилегия позволяет Service Fabric приостанавливать любые запросы инфраструктуры уровня виртуальной машины, такие как перезагрузка виртуальной машины, повторное создание образа виртуальной машины, миграция виртуальной машины и т. Д., Которые влияют на требования кворума для ваших служб с отслеживанием состояния, работающих в нем.

Бронза - без привилегий. Это значение по умолчанию, которое рекомендуется, если вы ›выполняете только рабочие нагрузки без сохранения состояния в своем кластере.

person LoekD    schedule 03.08.2017
comment
Я подозреваю, что вы правы, однако сервис, который я тестировал, был сервисом без сохранения состояния. Вы случайно не знаете, почему Bronze подходит для услуг без гражданства? Если VMSS перезагрузит все машины, не перестанут ли службы без сохранения состояния отвечать на запросы? - person Jeff Bailey; 03.08.2017
comment
Да, службы без сохранения состояния могут продолжать работать, даже если работает один узел. (например, вторичный узел) Однако системные службы не могут. - person LoekD; 04.08.2017

Я предлагаю прочитать эту статью . Это блог сотрудников MS. Я скопирую соответствующую часть:

Если вы не возражаете, чтобы все ваши виртуальные машины были перезагружены одновременно, вы можете установить для upgradePolicy значение «Автоматически». В противном случае установите для него значение «Вручную» и позаботьтесь о применении изменений в модели масштабируемого набора к отдельным виртуальным машинам самостоятельно. Довольно легко создать сценарий для развертывания обновления для виртуальных машин, сохраняя при этом время безотказной работы приложений. См. https://docs.microsoft.com/en-us/azure/virtual-machine-scale-sets/virtual-machine-scale-sets-upgrade-scale-set для получения дополнительных сведений.

Если ваш масштабируемый набор находится в кластере Service Fabric, определенные обновления, такие как изменение версии ОС, заблокированы (в настоящее время - это изменится в будущем), и рекомендуется, чтобы для upgradePolicy было установлено значение «Автоматически», поскольку Service Fabric заботится о безопасном применении. изменения модели (например, обновленные настройки расширений) при сохранении доступности.

person 4c74356b41    schedule 03.08.2017
comment
Это кластер VMSS Service Fabric, который у меня есть, и он позволяет перезагружать большинство виртуальных машин одновременно. Вероятно, из-за уровня прочности бронзы, как предложил @LoekD? - person Jeff Bailey; 03.08.2017