Управление приложениями для использования в нескольких средах

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

Рассмотрим два простых примера:

  • ваша служба прослушивает определенный порт, но этот порт должен отличаться в разных средах.
  • Необходимо предоставить разные учетные данные для привязки базы данных в разных средах.

Указание конфигурации

Указанная конфигурация может быть разделена на две категории:

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

Примечание.

Не все атрибуты в файле манифеста приложения и службы поддерживают параметры. В таких случаях необходимо полагаться на замену строк в рамках рабочего процесса развертывания. В Azure DevOps можно использовать расширение, например Replace Token: https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens или в Jenkins можно запустить задачу скрипта для замены значений.

Указание параметров во время создания приложения

При создании именованных экземпляров приложений в Service Fabric можно передать параметры. Способ создания экземпляра приложения зависит от того, каким образом вы это делаете.

  • В PowerShell командлет New-ServiceFabricApplication принимает параметры приложения в виде хэш-таблицы.
  • С помощью sfctl команда sfctl application create принимает параметры в виде строки JSON. Сценарий install.sh использует sfctl.
  • Visual Studio предоставляет набор файлов параметров в папке "Параметры" в проекте приложения. Эти файлы параметров используются при публикации из Visual Studio с помощью Azure DevOps Services или Azure DevOps Server. В Visual Studio файлы параметров передаются в скрипт Deploy-FabricApplication.ps1.

Дальнейшие действия

В следующих статьях показано, как использовать некоторые концепции, описанные здесь: