Управление экземплярами сервиса
Жизненный цикл экземпляра сервиса

Жизненный цикл экземпляра сервиса включает состояния, приведенные в таблице:
Состояние сервиса | Описание |
---|---|
| Исходное состояние сервиса. Сервис находится в этом состоянии, пока служба OneFlow не начнет процесс развертывания этого сервиса |
| Начался процесс развертывания каких-либо групп ВМ с заданной ролью |
| Все группы ВМ с заданной ролью из состава сервиса успешно развернуты |
| Обнаружена ошибка при развертывании ВМ |
| Начался процесс автоматического масштабирования группы ВМ с заданной ролью |
| Пауза между итерациями автоматического масштабирования группы ВМ с заданной ролью |
| Начался процесс отмены развертывания каких-либо групп ВМ с заданной ролью |
| Обнаружена ошибка при развертывании сервиса |
| Обнаружена ошибка во время отмены развертывания сервиса |
| Обнаружена ошибка во время автоматического масштабирования сервиса |
При этом каждая группа ВМ с заданной ролью может быть в одном из состояний, описание которых приведено в таблице:
Состояние группы | Описание |
---|---|
| Ожидание начала процесса развертывания |
| Начался процесс развертывания ВМ. Группа ВМ с заданной ролью находится в этом состоянии, пока статус всех ВМ из состава группы не примет значение |
| Статус всех ВМ из состава группы имеет значение |
| Обнаружена ошибка при развертывании ВМ |
| Начался процесс автоматического масштабирования. Группа ВМ с заданной ролью находится в этом состоянии, пока необходимое количество ВМ не будет развернуто или выключено |
| Пауза между итерациями автоматического масштабирования |
| Начался процесс выключения каких-либо ВМ. Группа ВМ с заданной ролью находится в этом состоянии, пока статус указанных ВМ не примет значение |
| Обнаружена ошибка при развертывании ВМ |
| Обнаружена ошибка во время отмены развертывания ВМ |
| Обнаружена ошибка во время автоматического масштабирования группы ВМ с заданной ролью |
Управление экземплярами сервиса в интерфейсе командной строки
Развертывание экземпляра сервиса
Для развертывания сервиса из шаблона можно воспользоваться командой:
Отображение развернутых сервисов
Для отображения развернутых сервисов необходимо использовать команду oneflow list
. Пример вывода после выполнения команды:
oneflow top
для непрерывного отображения развернутых сервисов.Для просмотра полной информации о сервисе необходимо использовать команду:
Управление состоянием сервиса
Для управления состоянием сервиса используются следующие команды:
Команда | Описание |
---|---|
oneflow delete | Выключение сервиса. Эта команда запускает процесс корректного выключения всех развернутых экземпляров ВМ. Если в настройках сервиса указан тип развертывания straight , то процесс выключения групп ВМ с заданной ролью производится в обратном порядке |
oneflow recover | Восстановление после сбоя. Используется для автоматического возобновления функционирования в штатном режиме (см. также Особенности восстановления после сбоя) |
oneflow recover --delete | Принудительное удаление экземпляра сервиса. Используется, если в процессе удаления ВМ произошла ошибка |
oneflow purge-done | Удаление всех сервисов, состояние которых имеет значение DONE |
Добавление или удаление групп ВМ в экземпляре сервиса
RUNNING
.
Чтобы добавить группу ВМ с заданной ролью, необходимо выполнить команду:
<идентификатор_сервиса>
– идентификатор экземпляра сервиса;<файл_json>
– файл в формате JSON, в котором указаны значения параметров группы ВМ с заданной ролью.
Пример
Файл role.json
с параметрами группы ВМ:
Добавление группы ВМ в экземпляр сервиса с идентификатором 0:
После получения команды на добавление группы ВМ с заданной ролью в сервис, состояние этого сервиса примет значение DEPLOYING
. Сервис находится в этом состоянии, пока статус необходимого количества ВМ из состава группы не примет значение RUNNING
.
Чтобы удалить группу ВМ с заданной ролью, необходимо выполнить команду:
UNDEPLOYING
. Сервис находится в этом состоянии до тех пор, пока все ВМ из состава группы не будут удалены. После этого состояние сервиса примет значение RUNNING
. Управление группой ВМ из состава экземпляра сервиса
Для управления состоянием всех ВМ из состава группы ВМ с заданной ролью используется следующая команда:
terminate
terminate-hard
undeploy
undeploy-hard
hold
release
stop
suspend
resume
reboot
reboot-hard
poweroff
poweroff-hard
snapshot-create
snapshot-revert
snapshot-delete
disk-snapshot-create
disk-snapshot-revert
disk-snapshot-delete
Кроме того, возможно указать, что заданное в команде действие применялось не одновременно ко всем ВМ из состава группы, а поочередно в отношении одной или нескольких ВМ. Для этого используются следующие аргументы команды:
"-n"
или"--number"
– количество ВМ с заданной ролью, которым будет одновременно направлена команда на изменение состояния за одну итерацию;"-p"
или"--period"
– пауза (в секундах) между итерациями.
Если аргументы "--number"
и "--period"
не указаны, то используются соответственно значения параметров ":action_number
" и ":action_period
", заданные в конфигурационном файле /etc/one/oneflow-server.conf
службы OneFlow.
Пример
Направить всем ВМ из состава группы с ролью my-role
сервиса my-service
команду на перезагрузку. При этом за одну итерацию команда на перезагрузку будет направлена только двум ВМ из состава группы. Пауза между итерациями составляет 300 секунд.
Управление экземплярами сервиса в веб-интерфейсе ПК СВ
Развертывание экземпляра сервиса
Для развертывания сервиса из шаблона, в веб-интерфейсе ПК СВ необходимо выполнить действия, описанные ниже.
- В меню слева выбрать пункт меню «Шаблоны — Сервисы».
- На открывшейся странице Шаблоны Сервисов выбрать необходимый шаблон.
- На открывшейся странице Шаблон Сервиса нажать на кнопку [+] и в открывшемся меню выбрать пункт Создать ВМ.
- На открывшейся странице Развернуть Шаблон Сервиса :
- В веб-интерфейсе в меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы» и дождаться пока в поле Состояние для созданного на предыдущем шаге сервиса значение
РАЗВОРАЧИВАЕТСЯ
не изменится наЗАПУЩЕНО
. Для обновления информации на странице можно воспользоваться кнопкой [Обновить страницу].
Отображение развернутых сервисов
Для отображения развернутых сервисов в веб-интерфейсе ПК СВ необходимо в меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы». На открывшейся странице Сервисы будет отображена таблица экземпляров сервисов (см. рисунок выше).
Для просмотра полной информации о сервисе необходимо на странице Сервисы выбрать необходимый сервис. После этого откроется страница сервиса (вкладка Сведения).

Управление состоянием сервиса
Для управления состоянием сервиса используются следующие кнопки веб-интерфейса:
Кнопка | Действие | Описание |
---|---|---|
[Удалить] ![]() | Инициирует команду oneflow delete | Выключение сервиса. Эта команда запускает процесс корректного выключения всех запущенных экземпляров ВМ. Если в настройках сервиса указан тип развертывания straight , то процесс выключения групп ВМ с заданной ролью производится в обратном порядке |
[Восстановить] ![]() | Инициирует команду oneflow recover | Восстановление после сбоя. Используется для автоматического возобновления функционирования в штатном режиме (см. также Особенности восстановления после сбоя) |
[Восстановить - удалить] ![]() | Инициирует командуoneflow recover --delete | Принудительное удаление экземпляра сервиса. Используется, если в процессе удаления ВМ произошла ошибка |
[Очистить] ![]() | Инициирует командуoneflow purge-done | Удаление всех сервисов, состояние которых имеет значение DONE |
Управление группой ВМ из состава экземпляра сервиса
Для управления состоянием всех ВМ из состава группы ВМ с заданной ролью, в веб-интерфейсе ПК СВ необходимо выполнить действия, описанные ниже.
- В меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы».
- На открывшейся странице Сервисы выбрать необходимый сервис.
- На открывшейся странице Сервис во вкладке Роли выбрать группу ВМ, состояние которой необходимо изменить. После этого станут доступны кнопки для управления состоянием группы ВМ.
Также можно указать, что заданное в команде действие применялось не одновременно ко всем ВМ из состава группы, а поочередно в отношении одной или нескольких ВМ. Для этого используются следующие поля для ввода:
Номер
– количество ВМ с заданной ролью, которым будет одновременно направлена команда на изменение состояния за одну итерацию;Период
– пауза (в секундах) между итерациями.
Если значения параметров
Номер
иПериод
не указаны, то используются соответственно значения параметров ":action_number
" и ":action_period
", заданные в конфигурационном файле/etc/one/oneflow-server.conf
службы OneFlow.
Для управления состоянием конкретной ВМ из состава группы ВМ с заданной ролью, в веб-интерфейсе ПК СВ необходимо выполнить действия, описанные ниже.
- В меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы».
- На открывшейся странице Сервисы выбрать необходимый сервис.
На открывшейся странице Сервис во вкладке Роли выбрать группу ВМ, состояние которой необходимо изменить, и пролистать страницу вниз.
- На странице Сервис в секции ВМ выбрать необходимую ВМ (допускается выбрать несколько ВМ). После этого станут доступны кнопки для управления состоянием ВМ.
Особенности восстановления после сбоя
Некоторые ошибки, возникшие в процессе функционирования сервиса, могут быть устранены в автоматическом режиме с помощью команды oneflow recover
. Последовательность действий при выполнении этой команды зависит от исходного состояния сервиса (см. таблицу ниже).
Исходное состояние сервиса | Описание автоматических действий при выполнении команды "oneflow recover" | Новое состояние сервиса |
---|---|---|
FAILED_DEPLOYING | ВМ, имеющие статус DONE или FAILED , уничтожаются. ВМ со статусом UNKNOWN развертываются | DEPLOYING |
FAILED_UNDEPLOYING | Возобновление процесса удаления сервиса | UNDEPLOYING |
FAILED_SCALING | ВМ, имеющие статус DONE или FAILED , уничтожаются. ВМ со статусом UNKNOWN развертываются. Если в процессе автоматического масштабирования производилось уменьшение количества ВМ, то возобновляется действие по выключению заданных ВМ | SCALING |
COOLDOWN | Пропуск паузы, немедленное возобновление функционирования | RUNNING |