Как правильно подождать, пока кластер Service Fabric станет доступным? - PullRequest
0 голосов
/ 11 января 2019

Я автоматизирую развертывание приложения Service Fabric в Azure. Пока что я автоматизировал:

  • Создание вспомогательной инфраструктуры: группа ресурсов, хранилище ключей, сертификат
  • Развертывание шаблона ARM
  • Сборка и упаковка самого приложения

Теперь я пытаюсь подключиться к конечной точке управления Fabric, чтобы развернуть приложение. Однако, если я пытаюсь подключиться через короткое время после того, как состояние развертывания «успешно», я получаю ошибку подключения. Если я проверяю состояние кластера Service Fabric в то время, он все еще находится в процессе развертывания.

Я мог бы продолжать пытаться подключаться каждые 10 секунд, пока не смогу подключиться к конечной точке управления, но это кажется грязным, поскольку фактические сбои при развертывании кластера могут привести к тайм-ауту сборки. Однако я не могу определить работоспособность кластера, поскольку конечная точка управления еще не доступна, поэтому кажется, что я застрял между молотом и наковальней.

Существует ли стандартный, более чистый подход к определению, готов ли мой кластер Service Fabric для подключения к мне для развертывания моего приложения?

1 Ответ

0 голосов
/ 11 января 2019

Прежде всего, откуда взято это предположение:

 but this seems dirty, since actual failures to deploy the cluster would eventuate in a build timeout. 

если шаблон arm успешно развернут - появится SF-кластер, так что вот так. во-вторых, вы можете использовать Get-AzResource для опроса ресурса SF в Azure и определения его состояния. используйте экспоненциальный откат с ограниченным количеством попыток.

И весь этот подход не имеет большого смысла. конвейеры вашего приложения не должны зависеть от инфраструктурных конвейеров. таким образом, ваш инфраструктурный конвейер должен быть помечен как выполненный, как только развертывание шаблона рукава завершится без ошибок. потому что этот тайм-аут случится при первом запуске (я даже не уверен, что это произойдет, я просто цитирую вас). все последующие обновления шаблонов плеч одного кластера не делают конечную точку управления кластером недоступной.

...