С помощью службы Application Services можно создать профиль обновления для существующего развертывания, чтобы увеличить масштаб, например, кластеров узла для улучшения производительности и обслуживания потребностей развертывания масштабируемых приложений. При увеличении масштаба кластерного узла развернутого приложения можно настроить только размер кластера узлов, которые моделировались как кластеры в схеме элементов приложения.

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

Например, в развернутом приложении Clustered Dukes Bank App можно увеличить узел AppServer для обработки дополнительной нагрузки. В процессе обновления сценарии установки, настройки и запуска AppServer выполняются на новой масштабированной виртуальной машине. Поскольку свойства http_node_ips и appsrv_routes службы Apache_LB зависят от узла AppServer, изменения в размере кластера AppServer затрагивают службу Apache_LB и инициируют выполнение сценария обновления.

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

Примечание: Изменить сценарии установки, настройки или запуска в процессе обновления нельзя. Настроить можно только сценарий обновления.

Также можно инициировать процесс обновления для увеличения масштаба развернутого приложения из интерфейса командной строки. См. Развертывание и обновление приложения с помощью интерфейса командной строки. С помощью интерфейсов REST API службы Application Services можно автоматизировать увеличение масштаба развернутого приложения. См. документ Использование интерфейсов REST API службы Application Services.

В процессе обновления для масштабирования развертывания иногда могут наблюдаться сбои. После сбоя обновления для увеличения масштаба необходимо выполнить очистку для удаления новых виртуальных машин. Отмена подготовки новых созданных виртуальных машин вручную — утомительная задача, сложная для пользователей внешних служб. Во избежание ручной работы рекомендуется автоматическое удаление виртуальных машин. Установите для следующего флага значение true, чтобы включить автоматическую очистку виртуальных машин после сбоя увеличения масштаба:
  • VM_CLEANUP_AFTER_UPDATE_FAILURE

Флаг можно установить после развертывания и впоследствии выполнить увеличение масштаба или откат. Если не нужно автоматически отменить подготовку виртуальных машин, установите для флага значение False.

Необходимые условия

  • Войдите в службу Application Services как издатель приложений и пользователь с правами развертывания.
  • Ознакомьтесь с основными принципами определения и настройки свойств компонентов и действий. См. Разработка компонентов Application Services.
  • В развернутом приложении должен быть по крайней мере один кластерный узел. См. Настройка узла в качестве кластера.
  • Если планируется добавить настраиваемую задачу, убедитесь, что в библиотеке Application Services создана хотя бы одна настраиваемая задача. См. Добавление настраиваемой задачи в библиотеку.
  • Убедитесь, что первоначальное развертывание успешно развернуто в облачной среде.

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

  • Обратитесь к администратору облака, чтобы получить сведения о предельном объеме пространства для хранения данных в среде развертывания.

Процедура

  1. В строке заголовка Application Services щелкните раскрывающееся меню и выберите Развертывания.
  2. Выберите успешно выполненное развертывание приложения.
  3. В раскрывающемся меню Операции на панели инструментов выберите пункт Обновить.
    Откроется страница профилей обновления.
  4. Выберите Создать профиль обновления.
    Откроется диалоговое окно «Профиль обновления».
  5. В раскрывающемся меню «Тип обновления» выберите Увеличить масштаб.
  6. Укажите имя масштабируемого процесса обновления, добавьте дополнительное описание и нажмите кнопку OK.
    В описании можно указать сведения об изменениях, которые вносятся во время этого обновления.
  7. (Необязательно) Щелкните изображение схемы элементов, чтобы просмотреть выделенные зависимости между службами и компонентами приложения.
    Обратите внимание на все зависимые компоненты, чтобы можно было создать сценарий обновления, если его не существует, или изменить существующий.
  8. На вкладке Узел увеличьте значение размера кластера для одного или нескольких кластерных узлов.
  9. (Необязательно) На вкладке Служба или Компонент приложения создайте сценарий обновления для всех доступных зависимых компонентов со свойством, привязанным к кластерному узлу.
    Если сценарий этапа жизненного цикла UPDATE определен, то сценарии отображаются вместе со связанной службой или компонентом приложения. Если сценарии не определены, создайте применимый сценарий для процесса обновления.
    Например, если у узла свойство all(node_array:ip) привязано к кластерному узлу, то он должен выполнить сценарий обновления.
  10. (Необязательно) Установите флажок Перезагрузить, если агент должен перезапустить виртуальную машину после успешного выполнения сценария обновления, и нажмите кнопку Далее.
    Масштабированный кластерный узел и задачи обновления зависимых компонентов появятся в плане выполнения. Исходный план выполнения не отображается в процессе обновления.
  11. (Необязательно) Добавьте свойство APPD_UPDATE_PROPS в сценарий обновления, чтобы просмотреть список всех измененных свойств.
    Сценарий обновления сохраняется в профиле обновления и может использоваться для многократных обновлений. APPD_UPDATE_PROPS нельзя использовать в качестве имени свойства или квалификатора для имени свойства.
    Например, образец сценария обновления службы MySQL включает в себя свойство APPD_UPDATE_PROPS для обновления порта и пароля базы данных.
  12. (Необязательно) Добавьте свойство APPD_PREV в сценарий обновления, чтобы просмотреть предыдущее значение свойства.
    Сценарий обновления сохраняется в профиле обновления и может использоваться для многократных обновлений. APPD_PREV нельзя использовать в качестве имени свойства или квалификатора для имени свойства.
    Например, образец сценария обновления службы MySQL включает в себя свойство APPD_PREV для просмотра значения пароля базы данных.
  13. (Необязательно) Нажмите кнопку Развернуть кластер (Развернуть кластер), чтобы развернуть кластерный узел, выберите настраиваемую задачу и перетащите ее на каждый узел.
    В диалоговом окне «Добавление настраиваемой задачи» можно настроить свойства задачи и сохранить изменения.
  14. В плане выполнения просмотрите масштабированный кластерный узел, а также сценарий обновления, если это применимо, и нажмите кнопку Далее.
    Пунктир синего цвета в плане выполнения определяет специальный порядок выполнения задач развертывания.

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

  15. Просмотрите измененные свойства и действия, связанные с обновлением.
    Зависимые свойства с определенными сценариями обновления будут выделены.
  16. Нажмите кнопку Обновить, чтобы развернуть обновленное приложение.

Результаты

Процесс обновления развертывает масштабированное обновление в облаке.

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

Состояние развертывания можно проверить на странице сводки развертывания. См. Использование страницы сводки развертывания.

Ознакомьтесь с различными процессами, которые выполняются в фоновом режиме при обновлении развернутого приложения в облаке. См. Основные сведения о процессах развертывания и обновления.