Управление приложениями Azure Service Fabric с помощью интерфейса командной строки Azure Service Fabric (sfctl)

Узнайте, как создавать и удалять приложения, выполняющиеся в кластере Azure Service Fabric.

Предварительные требования

  • Установите интерфейс командной строки Service Fabric и выберите кластер Service Fabric. Дополнительные сведения см. в статье Azure Service Fabric command line (Интерфейс командной строки Azure Service Fabric).

  • Также требуется готовый к развертыванию пакет приложения Service Fabric. Дополнительные сведения о том, как создавать и упаковывать приложения, представлены в документации по модели приложения Service Fabric.

Обзор

Чтобы развернуть новое приложение, выполните указанные ниже действия.

  1. Отправьте пакет приложения в хранилище образов Service Fabric.
  2. Подготовьте тип приложения.
  3. Удалите содержимое из хранилища образов.
  4. Укажите приложение и создайте его.
  5. Укажите службы и создайте их.

Чтобы удалить существующее приложение, выполните следующие действия.

  1. Удалите приложение.
  2. Отмените подготовку связанного типа приложения.

Развертывание нового приложения

Чтобы развернуть новое приложение, выполните указанные ниже действия.

Передача нового пакета приложения в хранилище образов

Прежде чем создавать приложение, необходимо отправить пакет приложения в хранилище образов Service Fabric.

Предположим, что пакет приложения существует в каталоге app_package_dir. Чтобы отправить каталог, выполните следующие команды:

sfctl application upload --path ~/app_package_dir

Для больших пакетов приложений вы можете указать параметр --show-progress, чтобы отобразить ход передачи.

Подготовка типа приложения

По завершении отправки необходимо подготовить приложение. Чтобы подготовить приложение, выполните следующую команду:

sfctl application provision --application-type-build-path app_package_dir

Параметр application-type-build-path должен совпадать с именем каталога, содержащего пакет приложения, который был отправлен ранее.

Удаление пакета приложения

Рекомендуется удалить пакет приложения после успешной регистрации приложения. Удаление пакетов приложений из хранилища образов освобождает системные ресурсы. Если хранить неиспользуемые пакеты, они занимают место на диске и создают проблемы производительности приложения.

Чтобы удалить пакет приложения из хранилища образов, выполните следующую команду:

sfctl store delete --content-path app_package_dir

Параметр content-path должен совпадать с именем каталога, загруженного при создании приложения.

Создание приложения из типа приложения

После подготовки приложения можно присвоить ему имя и создать приложение, выполнив следующую команду:

sfctl application create --app-name fabric:/TestApp --app-type TestAppType --app-version 1.0

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

Имя приложения должно начинаться с префикса fabric:/.

Создание служб для нового приложения

После создания приложения из него можно создавать службы. В этом примере мы создадим из приложения службу без отслеживания состояния. Службы, которые можно создать из приложения, определены в манифесте службы внутри подготовленного ранее пакета приложения.

sfctl service create --app-id TestApp --name fabric:/TestApp/TestSvc --service-type TestServiceType \
--stateless --instance-count 1 --singleton-scheme

Проверка развертывания и работоспособности приложения

Чтобы убедиться, что все находится в работоспособном состоянии, выполните приведенные ниже команды.

sfctl application list
sfctl service list --application-id TestApp

Чтобы проверить, что служба работоспособна, выполните аналогичные команды, чтобы получить сведения о работоспособности службы и приложения.

sfctl application health --application-id TestApp
sfctl service health --service-id TestApp/TestSvc

Параметр HealthState работоспособных служб и приложений должен иметь значение Ok.

Удаление имеющегося приложения

Чтобы удалить приложение, выполните указанные ниже действия.

Удаление приложения

Удалите приложение, выполнив следующую команду:

sfctl application delete --application-id TestEdApp

Отмена подготовки типа приложения

После удаления приложения можно также отменить подготовку типа приложения (если он больше не требуется). Для этого выполните следующую команду:

sfctl application unprovision --application-type-name TestAppType --application-type-version 1.0

Имя и версия типа должны соответствовать имени и версии в манифесте приложения, который был подготовлен ранее.

Обновление приложения

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

Чтобы выполнить обновление, необходимо сначала подготовить следующую версию приложения, используя ту же команду, что и раньше.

sfctl application upload --path ~/app_package_dir_2
sfctl application provision --application-type-build-path app_package_dir_2
sfctl store delete --content-path app_package_dir_2

Затем рекомендуется выполнить отслеживаемое автоматическое обновление. Запустите обновление, выполнив следующую команду.

sfctl application upgrade --app-id TestApp --app-version 2.0.0 --parameters "{\"test\":\"value\"}" --mode Monitored

Обновления переопределяют существующие параметры вне зависимости от способа их задания. При необходимости параметры приложения можно передать как аргументы команды обновления. Параметры приложения должны быть закодированы в виде объекта JSON.

Чтобы получить какие-либо указанные ранее параметры, можно использовать команду sfctl application info.

Если выполняется обновление приложения, его состояние можно получить с помощью команды sfctl application upgrade-status.

Наконец, если идет обновление и его необходимо отменить, можно использовать команду sfctl application upgrade-rollback, чтобы выполнить откат обновления.

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