Особенности масштабирования сервисов

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

После начала процесса масштабирования группа ВМ с заданной ролью и сервис будут переведены в состояние SCALING. Для достижения указанного размера группы ВМ с заданной ролью, в этой группе будут разворачиваться или уничтожаться ВМ. При этом для этой группы ВМ должны быть установлены значения максимального и минимального количества ВМ в группе (см. Управление шаблонами сервиса).

После завершения процесса масштабирования группа ВМ с заданной ролью и сервис будут переведены в состояние COOLDOWN (пауза). Продолжительность паузы определяется в шаблоне сервиса. Затем группа ВМ с заданной ролью и сервис будут переведены в состояние RUNNING.

Изменение размера группы ВМ в ручном режиме

В интерфейсе командной строки

Для изменения количества развернутых ВМ в группе с заданной ролью можно воспользоваться командой:

oneflow scale <идентификатор_сервиса> <наименование_роли> <необходимое_количество_ВМ>
Если необходимо установить такое количество развернутых ВМ, которое лежит вне диапазона максимального и минимального значений, заданных для группы ВМ, то следует использовать аргумент --force.

В веб-интерфейсе ПК СВ

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

  1. В меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы».
  2. На открывшейся странице на открывшейся странице Сервисы выбрать необходимый сервис.
  3. На открывшейся странице Сервис во вкладке Роли выбрать группу ВМ, размер которой необходимо изменить, и нажать на кнопку [Масштабировать].

  4. В открывшемся окне Масштабировать:
    • указать необходимое количество ВМ, которое должно быть развернуто в группе с заданной ролью;
    • если необходимо установить такое количество развернутых ВМ, которое лежит вне диапазона максимального и минимального значений, заданных для группы ВМ, то следует установить флаг Принудительно;
    • нажать на кнопку [Масштабировать].

Настройка автоматического масштабирования

Общие настройки автоматического масштабирования

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

Параметр

Тип данных

Обязательный

Описание

type

строка

Да

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

  • CHANGE – добавление/удаление заданного количества развернутых ВМ;
  • CARDINALITY – установка заданного размера группы (количества развернутых ВМ);
  • PERCENTAGE_CHANGE – добавление/удаление количества развернутых ВМ, заданного в процентном соотношении от текущего размера группы

adjust

число

Да

Шаг положительной/отрицательной корректировки или размер группы ВМ (в зависимости от типа автоматической настройки). В случае необходимости уменьшить количество развернутых ВМ, перед числом следует указать знак "-"

min_adjust_step

число

Нет

Необязательный параметр для автоматической настройки PERCENTAGE_CHAGE. Минимальный шаг положительной/отрицательной корректировки – наименьшее количество ВМ, на которое будет изменен размер группы

Настройка политики эластичности

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

  • значения параметров пользовательского шаблона экземпляра ВМ. Значения этих параметров могут быть установлены или изменены приложениями, функционирующими в ОС виртуальной машины. Для этого используется служба сервера OneGate;
  • значения параметров ВМ, предоставляемые драйвером виртуализации, такие как CPU, NETTX и NETRX.

Политика эластичности определяется следующими параметрами, значения которых заданы в шаблоне шаблоне сервиса:

Параметр

Тип данных

Обязательный

Описание

expressionстрокаДаУсловие (логическое выражение) при котором необходимо применить политику эластичности
period_numberчислоНетКоличество периодов времени, на протяжении которых выполняется условие, указанное в параметре expression.  Только по прошествии этого времени будет применена политика эластичности
periodчислоНетДлительность периода (в секундах) – используется совместно с параметром period_number

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

Пример

В приложении, функционирующим в ОС виртуальной машины случае, для контроля нагрузки используется параметр с наименованием workload. С помощью службы сервера OneGate значение этого параметра записывается в пользовательский шаблон экземпляра ВМ. В шаблоне сервиса для группы ВМ с заданной ролью установлена следующая политика эластичности – если значение параметра workload больше 50 на протяжении 30 секунд (3 периода по 10 секунд), то необходимо дополнительно развернуть две ВМ.

"elasticity_policies" : [
  {
    "expression" : "workload > 50",
    "period_number" : 3,
    "period" : 10

    "type" : "CHANGE",
    "adjust" : 2,
  },
  ...
]
CODE

  

Настройка автоматического масштабирования по расписанию

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

Параметр

Тип данных

Обязательный

Описание

recurrence

строка

Нет

Расписание начала автоматического масштабирования (в формате команды cron)

start_time

строка

Нет

Точное время начала автоматического масштабирования

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

Просмотр установленных политик автоматического масштабирования

В интерфейсе командной строки

Значения параметров установленных политик эластичности и планирования можно просмотреть, выполнив команду:

oneflow show <идентификатор_сервиса> 

Пример вывода после выполнения команды:

SERVICE 4 INFORMATION                                                           
ID                  : 4                   
NAME                : my_first_service    
USER                : brestadmin          
GROUP               : brestadmins         
STRATEGY            : straight            
SERVICE STATE       : RUNNING             
START TIME          : 05/24 13:53:54      
...
ROLE worker
ROLE STATE          : RUNNING             
PARENTS             : frontend            
VM TEMPLATE         : 0                   
CARDINALITY         : 2                   
MIN VMS             : 1                   
MAX VMS             : 5                   

ROLE ELASTICITY
ADJUST       EXPRESSION                        EVALS PERIOD  COOL
+ 2          WORKLOAD[--] > 50                 0/3    10s     -

ROLE ELASTICITY SCHEDULE
ADJUST       TIME                                                               
= 3          0 9 * * mon,tue,wed,thu,fri
...
CODE

где:

  • в информационном блоке ROLE ELASTICITY представлена политика эластичности для группы ВМ с наименованием worker;
  • в информационном блоке ROLE ELASTICITY SCHEDULE представлена политика планирования для группы ВМ с наименованием worker.

В веб-интерфейсе ПК СВ

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

  1. В меню слева выбрать пункт меню «Экземпляры ВМ — Сервисы».
  2. На открывшейся странице на открывшейся странице Сервисы выбрать необходимый сервис.
  3. На открывшейся странице Сервис во вкладке Роли выбрать группу ВМ, установленные политики которой необходимо просмотреть, и пролистать страницу вниз.

  4. В секции Стратегии масштабируемости будут отображены установленные политики эластичности. В секции Запланированные стратегии будут отображены установленные политики планирования.