Управление приложениями для использования в нескольких средах
Azure Service Fabric позволяет создавать кластеры, добавляя в них от одного до нескольких тысяч компьютеров. В большинстве случаев требуется развертывать приложение в нескольких конфигурациях кластеров: в локальном кластере разработки, в общем кластере разработки и в рабочем кластере. Все эти кластеры считаются разными средами, в которых должен выполняться код. Двоичные файлы приложения могут выполняться в этих средах без изменений, но часто требуется по-разному настроить приложение.
Рассмотрим два простых примера:
- служба ожидает передачи данных через определенный порт, но это должны быть разные порты во всех средах;
- необходимо указать разные учетные данные привязки для базы данных во всех средах.
Указание конфигурации
Предоставляемую конфигурацию можно разделить на две категории.
- Конфигурация, которая применяется к запуску служб
- Например, номер порта конечной точки или число экземпляров службы.
- Эта конфигурация задается в файле манифеста приложения или файле манифеста служб.
- Конфигурация, которая применяется к коду приложения
- Например, сведения о привязке для базы данных.
- Эта конфигурация может предоставляться с помощью файлов конфигурации или переменных среды.
Примечание.
Не все атрибуты в файле манифеста приложения и файле манифеста служб поддерживают использование параметров. В таких случаях следует полагаться на замену строк в рабочем процессе развертывания. В Azure DevOps можно воспользоваться таким расширением, как Replace Tokens (https://marketplace.visualstudio.com/items?itemName=qetza.replacetokens), а в Jenkins можно запустить задачу скрипта для замены значений.
Указание параметров при создании приложения
При создании именованных экземпляров приложения в Service Fabric имеется возможность передавать параметры. Способ их передачи зависит от того, как создается экземпляр приложения.
- В PowerShell командлет
New-ServiceFabricApplication
принимает параметры приложения в виде хэш-таблицы. - При использовании sfctl команда
sfctl application create
принимает параметры в виде строки JSON. Сценарий install.sh использует sfctl. - Visual Studio предоставляет набор файлов параметров в папке Parameters в проекте приложения. Эти файлы параметров используются при публикации из Visual Studio с помощью Azure DevOps Services или Azure DevOps Server. В Visual Studio файлы параметров передаются в сценарий Deploy-FabricApplication.ps1.
Следующие шаги
В приведенных ниже статьях описывается, как использовать некоторые основные понятия, приведенные в этой статье: