29 KiB
29 KiB
Модуль decort_lb
Обзор модуля decort_lb
Модуль decort_lb предназначен для выполнения следующих действий над балансировщиками нагрузки:
- создать
- получить информацию
- выключить/включить/запустить/остановить/перезапустить
- изменить
- конфигурации backend и frontend
- конфигурацию sysctl
- зону
- удалить (в корзину или безвозвратно)
- восстановить из корзины
Параметры модуля decort_lb
Ниже приведен список параметров для модуля decort_lb (за исключением общих параметров):
| Параметр | Тип | Описание | ||
|---|---|---|---|---|
| account_id | (int) | Идентификатор аккаунта. | ||
| account_name | (str) |
Имя аккаунта.
Может быть альтернативой параметру account_id.
|
||
| description | (str) | Описание балансировщика. | ||
| backends | (list) | Список словарей, описывающих конфигурации backend. | ||
| algorithm |
(str)
Значения: leastconn
roundrobin
static-rr
Default: roundrobin
|
Используемый алгоритм. | ||
| default_settings | (dict) | Cловарь, описывающий параметры по умолчанию для backend-серверов. | ||
| downinter |
(int)
Default: 1000
|
Интервал в миллисекундах между двумя последовательными проверками доступности сервера, который считается недоступным. | ||
| fall |
(int)
Default: 2
|
Количество последовательных неудачных проверок доступности, после которых сервер, ранее считавшийся доступным, начинает считаться недоступным и временно исключается из схемы балансировки. | ||
| inter |
(int)
Default: 5000
|
Интервал в миллисекундах между двумя последовательными проверками доступности сервера, который считается доступным. | ||
| maxconn |
(int)
Default: 250
|
Лимит одновременных подключений к серверу. При достижении этого лимита сервер временно исключается из схемы балансировки. | ||
| maxqueue |
(int)
Default: 256
|
Лимит соединений, ожидающих в очереди. Когда этот предел будет достигнут, все последующие подключения будут перенаправлены на другие серверы. | ||
| rise |
(int)
Default: 2
|
Количество проверок, которые должен пройти сервер, считавшийся недоступным, чтобы начать считаться доступным и снова быть включенным в схему балансировки. | ||
| slowstart |
(int)
Default: 60000
|
Интервал в миллисекундах с момента когда сервер начинает считаться доступным, по истечении которого количество фактически разрешенных подключений к этому серверу будет возвращено до 100% от установленного лимита. | ||
| weight |
(int)
Default: 100
|
Вес сервера для использования в алгоритмах балансировки. | ||
| name | (str) | Название backend. Обязательный параметр. | ||
| ext_net_id | (int) |
Идентификатор внешней сети.
Может быть не задан, если задан vins_id -
в таком случае балансировщик будет подключён только к
внутренней сети.
|
||
| frontends | (list) | Список словарей, описывающих конфигурации frontend. | ||
| backend | (str) | Название используемого backend. Обязательный параметр. | ||
| bindings | (list) | Список словарей, описывающих конфигурации binding. | ||
| address | (str) |
IP-адрес.
Если не задан, то будет использоваться основной IP-адрес балансировщика во внешней сети или, если подключена только внутренняя сеть, основной IP-адрес балансировщика во внутренней сети. |
||
| name | (str) | Название. Обязательный параметр. | ||
| port |
(int)
Значения: 1-65535
|
Порт. Обязательный параметр. | ||
| ha_lb |
bool
Default: false
|
Использовать схему высокой доступности для создаваемого балансировщика. | ||
| lb_id | (int) | Идентификатор балансировщика нагрузки. | ||
| lb_name | (str) | Имя балансировщика. | ||
| permanently |
(bool)
Default: false
|
Если выполняется удаление, то выполнить безвозвратное удаление (минуя корзину). | ||
| rg_id | (int) | Идентификатор ресурсной группы. | ||
| rg_name | (str) |
Имя ресурсной группы.
В комбинации с заданным аккаунтов может быть альтернативой параметру rg_id
|
||
| servers | (list) | Список словарей, описывающих конфигурации backend-серверов. | ||
| address | (str) | IP-адрес. Обязательный параметр. | ||
| backends | (list) |
Список словарей, описывающих параметры backend-сервера для разных
конфигураций backend.
Обязательный параметр. |
||
| check |
(str)
Значения: enabled
disabled
Default: enabled
|
Проверка доступности сервера. | ||
| name | (str) | Название конфигурации backend. Обязательный параметр. | ||
| port |
(int)
Значения: 1-65535
|
Порт. Обязательный параметр. | ||
| server_settings | (dict) |
Словарь, описывающий параметры backend-сервера.
Ключи данного словаря аналогичны ключам словаря default_settings . |
||
| name | (str) | Название. Обязательный параметр. | ||
| state |
(str)
Значения: absent
disabled
enabled
present
restart
started
stopped
|
Целевое состояние балансировщика нагрузки.
absent - удалён в корзину или безвозвратно удалён,
в зависимости от значения параметра
permanently.
disabled - выключен. Если включён, то будет выключен.
enabled - включён. Если выключен, то будет включён.
Если удалён в корзину, то будет восстановлен из корзины и включён.
present - существует и не удалён. Если удалён в
корзину, то будет восстановлен из корзины.
restart - выполнен перезапуск.
started - запущен. Если остановлен, то будет запущен.
stopped - остановлен. Если запущен, то будет остановлен.
Значение по умолчанию, если объект не найден или безвозвратно удалён: present
|
||
| sysctl | (dict) | Словарь, описывающий параметры конфигурации sysctl. | ||
| vins_id | (int) |
Идентификатор внутренней сети.
Может быть не задан, если задан ext_net_id -
в таком случае балансировщик будет подключён только к
внешней сети.
|
||
| vins_name | (str) |
Имя внутренней сети.
В комбинации с заданной РГ может быть альтернативой для параметра vins_id.
|
||
| zone_id | (int) | Идентификатор зоны. | ||
Возвращаемые значения модуля decort_lb
Модуль decort_lb возвращает информацию о балансировщике в виде словаря facts со следующими ключами:
| Ключ |
Тип
данных |
Описание | |||
|---|---|---|---|---|---|
| account_id | int | Идентификатор аккаунта. | |||
| acl | list[any] | ||||
| backend_ha_ip_addr | str | Виртуальный IP-адрес во внутренней сети, используемый в режиме высокой доступности. | |||
| backends | list[dict[str, any]] | Список словарей, описывающих конфигурации backend. | |||
| algorithm | str | Используемый алгоритм. | |||
| name | str | Название конфигурации backend. | |||
| server_default_settings | dict[str, any] | Cловарь, описывающий параметры по умолчанию для backend-серверов. | |||
| downinter | int | Интервал в миллисекундах между двумя последовательными проверками доступности сервера, который считается недоступным. | |||
| fall | int | Количество последовательных неудачных проверок доступности, после которых сервер, ранее считавшийся доступным, начинает считаться недоступным и временно исключается из схемы балансировки. | |||
| guid | str | Идентификатор. | |||
| inter | int | Интервал в миллисекундах между двумя последовательными проверками доступности сервера, который считается доступным. | |||
| maxconn | int | Лимит одновременных подключений к серверу. При достижении этого лимита сервер временно исключается из схемы балансировки. | |||
| maxqueue | int | Лимит соединений, ожидающих в очереди. Когда этот предел будет достигнут, все последующие подключения будут перенаправлены на другие серверы. | |||
| rise | int | Количество проверок, которые должен пройти сервер, считавшийся недоступным, чтобы начать считаться доступным и снова быть включенным в схему балансировки. | |||
| slowstart | int | Интервал в миллисекундах с момента когда сервер начинает считаться доступным, по истечении которого количество фактически разрешенных подключений к этому серверу будет возвращено до 100% от установленного лимита. | |||
| weight | int | Вес сервера для использования в алгоритмах балансировки. | |||
| servers | list[dict[str, any]] | Список словарей, описывающих конфигурации backend-серверов. | |||
| ip_addr | str | IP-адрес. | |||
| check | str | Проверка доступности сервера. | |||
| name | str | Название. | |||
| port | int | Порт. | |||
| server_settings | dict[str, any] |
Cловарь, описывающий параметры backend-сервера.
Ключи данного словаря аналогичны ключам словаря server_default_settings . |
|||
| created_by | str | Пользователь, создавший объект. | |||
| created_datetime | str | null | Дата и время создания. | |||
| created_timestamp | int | Unix-время создания. | |||
| deleted_by | str | Пользователь, удаливший объект. | |||
| deleted_datetime | str | null | Дата и время удаления. | |||
| deleted_timestamp | int | Unix-время удаления. | |||
| description | str | Описание. | |||
| dp_api_user | str | ||||
| ext_net_id | int | Идентификатор внешней сети. | |||
| frontend_ha_ip_addr | str | Виртуальный IP-адрес во внешней сети, используемый в режиме высокой доступности. | |||
| frontends | list[dict[str, any]] | Список словарей, описывающих конфигурации frontend. | |||
| backend_name | str | Название используемого backend. | |||
| bindings | list[dict[str, any]] | Список словарей, описывающих конфигурации binding. | |||
| guid | str | Идентификатор. | |||
| ip_addr | str | IP-адрес. | |||
| name | str | Имя. | |||
| port | int | Порт. | |||
| guid | str | Идентификатор. | |||
| name | str | Имя. | |||
| grid_id | int | Идентификатор ЦОДа. | |||
| guid | int | Идентификатор. | |||
| ha_mode | bool | Включён ли режим высокой доступности. | |||
| id | int | Идентификатор. | |||
| manager_id | int | ||||
| manager_type | str | ||||
| milestones | int | Количество событий. | |||
| name | str | Имя. | |||
| part_of_k8s | bool | Является ли частью кластера K8s. | |||
| primary_node | dict[str, any] | Основной узел. | |||
| backend_ip_addr | str | IP-адрес во внутренней сети. | |||
| frontend_ip_addr | str | IP-адрес во внешней сети. | |||
| guid | str | Идентификатор. | |||
| mgmt_ip | str | IP-адрес для управления. | |||
| net_id | int | Идентификатор сети. | |||
| vm_id | int | Идентификатор виртуальной машины. | |||
| rg_id | int | Идентификатор ресурсной группы. | |||
| rg_name | str | Имя ресурсной группы. | |||
| secondary_node | dict[str, any] | Резервный узел. | |||
| backend_ip_addr | str | IP-адрес во внутренней сети | |||
| frontend_ip_addr | str | IP-адрес во внешней сети. | |||
| guid | str | Идентификатор. | |||
| mgmt_ip | str | IP-адрес для управления. | |||
| net_id | int | Идентификатор сети. | |||
| vm_id | int | Идентификатор виртуальной машины. | |||
| status | str | Статус балансировщика. | |||
| sysctl_params | dict[str, str] | Параметры конфигурации sysctl. | |||
| tech_status | str | Технический статус балансировщика. | |||
| updated_by | str | Пользователь, обновивший объект. | |||
| updated_datetime | str | null | Дата и время обновления. | |||
| updated_timestamp | int | Unix-время обновления. | |||
| user_managed | bool | Управляется ли пользователем. | |||
| vins_id | int | Идентификатор внутренней сети. | |||
| zone_id | int | Идентификатор зоны. | |||