Вы получаете эту ошибку, потому что вы изменяете некоторые параметры в DefaultService, которые не разрешены по умолчанию.
Ссылка aka.ms / upgrade-defaultservices , показанная в журналах ошибокобъясните это.
Некоторые параметры службы по умолчанию, определенные в манифесте приложения, также можно обновить в рамках обновления приложения.
В рамках обновления могут быть изменены только те параметры службы, которые поддерживают изменение через Update-ServiceFabricService.Смена служб по умолчанию во время обновления приложения выглядит следующим образом:
- Службы по умолчанию в новом манифесте приложения, которые еще не существуют в кластере, создаются.
- Службы по умолчанию, которые существуюткак в предыдущем, так и в новом приложении манифесты обновляются.Параметры службы по умолчанию в новом манифесте приложения перезаписывают параметры существующей службы.При сбое обновления службы по умолчанию обновление приложения будет выполнено автоматически.
- Службы по умолчанию, которых нет в новом манифесте приложения, удаляются, если они существуют в кластере.Обратите внимание, что удаление службы по умолчанию приведет к удалению всего состояния этой службы и не может быть отменено.
Кроме того, есть еще один вопрос о том же: Описания службы по умолчаниюне может быть изменено как часть обновления. Установите EnableDefaultServicesUpgrade на true
Приведенный выше элемент 1 является распространенным подходом, в котором новые услуги добавляются в решение, а затем создаются во время обновления без ошибок, элемент 2.и 3 - ограниченный подход, который требует EnableDefaultServicesUpgrade
.
Пункт 2, как описано в добавленном вами ответе, вы изменили MinReplicaSize
и TargetReplicaSize
на 1 во время обновления вручную,Когда SF проверил состояние вашей службы для обновления, он определил разницу и не позволил продолжить обновление, если вы установили для кластера EnableDefaultServicesUpgrade
значение true
, он продолжит работу и переопределит значения по умолчанию.
Пункт 3 возникнет у вас, когда вы удалите сервис и добавите снова, вы изменили или неправильно написалиКак следует из названия, настройки SF по умолчанию предотвратят удаление этой службы.
Что касается решения, которое вы нашли (удаление и воссоздание), не является идеальным, в случаях, когда у вас есть службы с состоянием, работающие в рабочей среде,рискованно применять, потому что вам придется делать резервную копию состояния, повторно развертывать службы и восстанавливать резервную копию, в некоторых случаях, в зависимости от того, что это за изменения, вы не сможете восстановить резервную копию, потому что они имеютсоответствовать исходным определениям сервисов (тип раздела, номер и сын на).Вы также потеряете преимущества Rolling Updates, и, если объем этих резервных копий будет большим, ваше обслуживание может быть приостановлено на некоторое время.