Служба OneFlow#
Общие сведения о службе OneFlow#
Служба 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 |
Режим выключения ВМ. Может принимать следующие значения:
|
:action_number |
Количество ВМ с заданной ролью, которым будет одновременно направлена команда на изменение состояния |
:action_period |
Интервал времени (в секундах) через который будет повторно направлена команда на изменение состояния ВМ с заданной ролью. Команда повторяется до тех пор, пока все ВМ с заданной ролью, не получат эту команду. Количество ВМ, которым будет одновременно направлена команда на изменение состояния определяется параметром :action_number |
:vm_name_template |
Шаблон имени ВМ, создаваемой службой OneFlow. При формировании шаблона допускается использовать следующие переменные:
По умолчанию установлен следующий шаблон имени ВМ: $ROLE_NAME_$VM_NUMBER_(service_$SERVICE_ID) |
:page_size |
Размер страницы данных при очистке сервиса, имеющего статус DONE |
Аутентификация |
|
:core_auth |
Метод аутентификации, используемый при подключении к службе сервера управления ПК СВ. Может принимать следующие значения:
|
Протоколирование |
|
:debug_level |
Уровень протоколирования. Возможные значения:
|
По умолчанию служба 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
.
После внесения изменений необходимо перезапустить службу веб-интерфейса ПВ:
sudo systemctl restart opennebula-sunstonе
Настройка инструментов командной строки#
Дополнительная настройка не требуется. Однако, если планируется удаленное подключение к службе OneFlow, то при вызове инструмента командной строки необходимо предварительно указывать адрес доступа к службе (ONEFLOW_URL
):
ONEFLOW_URL=http://192.168.0.5:2474 oneflow list