Оглавление

Дополнительная информация

Общие сведения

Служба OneFlow осуществляет управление сервисом, реализованным в виде многозвенного (multi-tier) приложения. Каждое звено (tier) представляет собой приложение, функционирующее на отдельной ВМ. 

Кроме того, службой OneFlow обеспечивается автоматическая перенастройка сервиса в соответствии с заданными правилами (политикой эластичности). Под перенастройкой сервиса подразумевается автоматическое изменение состояния виртуальных машин, логически объединенных в сервис (остановка, запуск, перезапуск и т.д.), а также автоматическое изменение количества виртуальных машин с заданной ролью.

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

Настройка службы OneFlow

Значения параметров службы OneFlow представлены в конфигурационном файле /etc/one/oneflow-server.conf, который имеет формат YAML и по умолчанию размещен на фронтальной машине. Для настройки службы OneFlow используются следующие параметры:

Параметр

Описание

Сетевые настройки

:one_xmlrpc

Адрес для подключения к API службы управления ПК СВ (по протоколу XML-RPC)

:subscriber_endpoint

Адрес для подключения к службе хуков 

:autoscaler_interval

Интервал времени (в секундах) между проверками значений параметров, указанных в политике эластичности 

:host

Сетевое имя или IP-адрес, который необходимо прослушивать (ожидать запрос на соединение)

:port

Порт, который необходимо прослушивать (ожидать запрос на соединение)

:force_deletion

Флаг, который устанавливает режим принудительного удаления ВМ

Значения, установленные по умолчанию 

:default_cooldown

Длительность паузы (в секундах) после выполнения автоматического масштабирования сервиса. Во время паузы службой OneFlow не выполняется никаких действий.

:wait_timeout

Длительность ожидания (в секундах) отчета об изменении состояния ВМ 

:concurrency

Количество ядер, выделенных для работы службы OneFlow

:shutdown_action

Режим выключения ВМ. Может принимать следующие значения:

  • terminate (корректное завершение работы и удаление ВМ);
  • terminate-hard (принудительное завершение работы и удаление ВМ)

:action_number

Количество ВМ с заданной ролью, которым будет одновременно направлена команда на изменение состояния

:action_period

Интервал времени (в секундах) через который будет повторно направлена команда на изменение состояния ВМ с заданной ролью. Команда повторяется до тех пор, пока все ВМ с заданной ролью, не получат эту команду. Количество ВМ, которым будет одновременно направлена команда на изменение состояния определяется параметром :action_number

:vm_name_template

Шаблон имени ВМ, создаваемой службой OneFlow. При формировании шаблона допускается использовать следующие переменные:

  • $SERVICE_ID – идентификатор сервиса;
  • $SERVICE_NAME – наименование сервиса;
  • $ROLE_NAME – наименование роли;
  • $VM_NUMBER – номер ВМ.

По умолчанию установлен следующий шаблон имени ВМ: 

$ROLE_NAME_$VM_NUMBER_(service_$SERVICE_ID)

:page_size

Размер страницы данных при очистке сервиса, имеющего статус DONE

Аутентификация

:core_auth

Метод аутентификации, используемый при подключении к службе управления ПК СВ (oned). Может принимать следующие значения:

  • cipher (при аутентификации с симметричным ключом);
  • x509 (при аутентификации на основе цифровых сертификатов X.509)

Протоколирование

:debug_level

Уровень протоколирования. Возможные значения:

  • 0 — регистрировать сообщения об ошибках;
  • 1 — регистрировать предупреждения;
  • 2 — регистрировать информационные сообщения;
  • 3 — регистрировать отладочные сообщения

По умолчанию служба OneFlow настроена на прослушивание локального адреса (localhost). Если служба OneFlow развернута на фронтальной машине и планируется взаимодействие с этой службой в ОС фронтальной машины, то дополнительных настроек не требуется.

Если планируется удаленное подключение к службе OneFlow, то необходимо в качестве значения параметра ":host" указать адрес сервера, на котором развернута эта служба, и к которому имеется сетевой доступ. Кроме того, для параметра ":host" можно указать значение 0.0.0.0 (для прослушивания всех IP-адресов, присвоенных серверу).

После внесения изменений в конфигурационный файл необходимо перезагрузить службу OneFlow командой:

sudo systemctl restart opennebula-flow

Управление службой OneFlow

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

sudo systemctl start opennebula-flow

sudo systemctl restart opennebula-flow

sudo systemctl stop opennebula-flow

 Чтобы разрешить или запретить автоматический запуск службы OneFlow при запуске ОС, необходимо выполнить соответствующую команду:

sudo systemctl enable opennebula-flow

sudo systemctl disable opennebula-flow

Информация о работе службы OneFlow регистрируется в следующих файлах:

  • /var/log/one/oneflow.log;

  • /var/log/one/oneflow.error.

Кроме, того информация о работе службы OneFlow регистрируется в системном журнале. Для просмотра этой информации необходимо выполнить команду:

sudo journalctl -u opennebula-flow.service
Информация о работе определенного сервиса, управляемого службой OneFlow, регистрируется в файле с наименованием /var/log/one/oneflow/<идентификатор_сервиса>.

Настройка ПК СВ для использования службы OneFlow

Для взаимодействия пользователя со службой OneFlow используются веб-интерфейс ПК СВ, а также инструменты командной строки oneflow и oneflow-template.

Если служба OneFlow развернута на фронтальной машине и планируется взаимодействие с этой службой в ОС фронтальной машины, то дополнительных настроек не требуется.

Настройка веб-интерфейса ПК СВ

При настройке веб-интерфейса ПК СВ для доступа к службе OneFlow используется параметр ":oneflow_server", значение которого содержит сетевое имя (IP-адрес) и порт для доступа к службе OneFlow. Изменение значения параметра ":oneflow_server" производится в конфигурационном файле /etc/one/sunstone-server.conf

Пример

:oneflow_server: http://192.168.0.5:2474/
CODE

После внесения изменений необходимо перезапустить службу веб-интерфейса ПК СВ:

sudo systemctl restart opennebula-sunstonе

Настройка инструментов командной строки

Дополнительная настройка не требуется. Однако, если планируется удаленное подключение к службе OneFlow, то при вызове инструмента командной строки необходимо предварительно указывать адрес доступа к службе (ONEFLOW_URL).

Пример

ONEFLOW_URL=http://192.168.0.5:2474 oneflow list