# Модуль decort_lb ## Обзор модуля decort_lb Модуль **decort_lb** предназначен для выполнения следующих действий над балансировщиками нагрузки: - создать - получить информацию - выключить/включить/запустить/остановить/перезапустить - изменить - конфигурации backend и frontend - конфигурацию sysctl - зону - удалить (в корзину или безвозвратно) - восстановить из корзины ## Параметры модуля decort_lb Ниже приведен список параметров для модуля **decort_lb** (за исключением [общих параметров](./введение.md#общие-параметры-модулей)):
Параметр Тип Описание
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 Идентификатор зоны.