894 lines
22 KiB
Markdown
894 lines
22 KiB
Markdown
# Модуль decort_lb
|
||
## Обзор модуля decort_lb
|
||
|
||
Модуль **decort_lb** предназначен для выполнения следующих действий над балансировщиками нагрузки:
|
||
- создать
|
||
- получить информацию
|
||
- отключить/включить/запустить/перезапустить
|
||
- изменить конфигурации backend и frontend
|
||
- удалить (в корзину или безвозвратно)
|
||
- восстановить из корзины
|
||
|
||
## Параметры модуля decort_lb
|
||
Ниже приведен полный список параметров для модуля **decort_lb**:
|
||
|
||
<table>
|
||
<tr>
|
||
<th colspan="3">Параметр</th>
|
||
<th>Тип</th>
|
||
<th>Описание</th>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
account_id
|
||
</td>
|
||
<td>
|
||
(int)
|
||
</td>
|
||
<td>
|
||
Идентификатор аккаунта.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
account_name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Имя аккаунта.
|
||
<br> Может быть альтернативой параметру <code>account_id</code>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
annotation
|
||
</td>
|
||
<td>
|
||
(str)
|
||
<br>Default: <code>Managed by Ansible module decort_lb</code>
|
||
</td>
|
||
<td>
|
||
Описание балансировщика.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
app_id
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Идентификатор приложения, использующийся для подключения к контроллеру
|
||
облачной платформы DECORT в режиме <code>authenticator: oauth2</code>.
|
||
Данный параметр является обязательным для указанного режима. Если
|
||
параметр не задан в playbook, модуль будет использовать значение
|
||
переменной окружения <code>DECORT_APP_ID</code>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
app_secret
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Секретный ключ приложения, который используется для подключения к
|
||
контроллеру облачной платформы DECORT в режиме
|
||
<code>authenticator: oauth2</code>. Данный параметр является
|
||
обязательным для указанного режима. Так как он содержит секретную
|
||
информацию, то его не рекомендуется задавать непосредственно в
|
||
playbook. Если параметр не задан в playbook, то модуль будет
|
||
использовать значение переменной окружения
|
||
<code>DECORT_APP_SECRET</code>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
authenticator
|
||
</td>
|
||
<td>
|
||
(str)
|
||
<br>Значения:
|
||
<br/><code>oauth2</code>
|
||
<br/><code>jwt</code>
|
||
</td>
|
||
<td>
|
||
Режим аутентификации при подключении к контроллеру облачной платформы
|
||
DECORT. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
backends
|
||
</td>
|
||
<td>
|
||
(list)
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации backend.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
algorithm
|
||
</td>
|
||
<td>
|
||
(str)
|
||
<br>Значения:
|
||
<br><code>leastconn</code>
|
||
<br><code>roundrobin</code>
|
||
<br><code>static-rr</code>
|
||
<br>Default: <code>roundrobin</code>
|
||
</td>
|
||
<td>
|
||
Используемый алгоритм.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
<a name="backend_default_settings">
|
||
default_settings
|
||
</a>
|
||
</td>
|
||
<td>
|
||
(dict)
|
||
</td>
|
||
<td>
|
||
Cловарь, описывающий параметры по умолчанию для backend-серверов.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
downinter
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>1000</code>
|
||
</td>
|
||
<td>
|
||
Интервал в миллисекундах между двумя последовательными проверками
|
||
доступности сервера, который считается недоступным.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
fall
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>2</code>
|
||
</td>
|
||
<td>
|
||
Количество последовательных неудачных проверок доступности, после
|
||
которых сервер, ранее считавшийся доступным, начинает считаться
|
||
недоступным и временно исключается из схемы балансировки.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
inter
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>5000</code>
|
||
</td>
|
||
<td>
|
||
Интервал в миллисекундах между двумя последовательными проверками
|
||
доступности сервера, который считается доступным.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
maxconn
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>250</code>
|
||
</td>
|
||
<td>
|
||
Лимит одновременных подключений к серверу. При достижении этого лимита
|
||
сервер временно исключается из схемы балансировки.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
maxqueue
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>256</code>
|
||
</td>
|
||
<td>
|
||
Лимит соединений, ожидающих в очереди. Когда этот предел будет
|
||
достигнут, все последующие подключения будут перенаправлены
|
||
на другие серверы.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
rise
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>2</code>
|
||
</td>
|
||
<td>
|
||
Количество проверок, которые должен пройти сервер, считавшийся
|
||
недоступным, чтобы начать считаться доступным и снова быть
|
||
включенным в схему балансировки.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
slowstart
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>60000</code>
|
||
</td>
|
||
<td>
|
||
Интервал в миллисекундах с момента когда сервер начинает считаться
|
||
доступным, по истечении которого количество фактически разрешенных
|
||
подключений к этому серверу будет возвращено до 100% от
|
||
установленного лимита.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
weight
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Default: <code>100</code>
|
||
</td>
|
||
<td>
|
||
Вес сервера для использования в алгоритмах балансировки.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Название backend. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
controller_url
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
URL контроллера, соответствующего экземпляру облачной платформы
|
||
DECORT. Данный параметр является обязательным.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
ext_net_id
|
||
</td>
|
||
<td>
|
||
(int)
|
||
</td>
|
||
<td>
|
||
Идентификатор внешней сети.
|
||
<br>Может быть не задан, если задан <code>vins_id</code> -
|
||
в таком случае балансировщик будет подключён только к
|
||
внутренней сети.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
<a name="frontends">
|
||
frontends
|
||
</a>
|
||
</td>
|
||
<td>
|
||
(list)
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации frontend.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
backend
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Название используемого backend. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
bindings
|
||
</td>
|
||
<td>
|
||
(list)
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации binding.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
address
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
IP-адрес.
|
||
<br>Если не задан, то будет использоваться основной IP-адрес
|
||
балансировщика во внешней сети или, если подключена только
|
||
внутренняя сеть, основной IP-адрес балансировщика во внутренней сети.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Название. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
port
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Значения:
|
||
<br><code>1</code>-<code>65535</code>
|
||
</td>
|
||
<td>
|
||
Порт. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
ha_lb
|
||
</td>
|
||
<td>
|
||
bool
|
||
<br>Default: <code>false</code>
|
||
</td>
|
||
<td>
|
||
Использовать схему высокой доступности для создаваемого балансировщика.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
jwt
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
JSON Web Token (JWT), который будет использоваться для подключения
|
||
к контроллеру облачной платформы DECORT в режиме
|
||
<code>authenticator: jwt</code>. Данный параметр является
|
||
обязательным для указанного режима. Так как он содержит
|
||
потенциально секретную информацию, а сам JWT, как правило,
|
||
имеет ограниченное время жизни, то его не рекомендуется задавать
|
||
непосредственно в playbook. Если этот параметр не определен в
|
||
playbook, то модуль будет использовать значение переменной
|
||
окружения <code>DECORT_JWT</code>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
lb_id
|
||
</td>
|
||
<td>
|
||
(int)
|
||
</td>
|
||
<td>
|
||
Идентификатор балансировщика нагрузки.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
lb_name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Имя балансировщика.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
oauth2_url
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
URL авторизационного сервера, работающего по протоколу Oauth2,
|
||
который должен использоваться в режиме
|
||
<code>authenticator: oauth2</code>. Данный параметр является
|
||
обязательным для указанного режима. Если параметр не задан в
|
||
playbook, модуль будет использовать значение переменной
|
||
окружения <code>DECORT_OAUTH2_URL</code>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
permanently
|
||
</td>
|
||
<td>
|
||
(bool)
|
||
<br>Default: <code>false</code>
|
||
</td>
|
||
<td>
|
||
Если выполняется удаление, то выполнить безвозвратное удаление
|
||
(минуя корзину).
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
rg_id
|
||
</td>
|
||
<td>
|
||
(int)
|
||
</td>
|
||
<td>
|
||
Идентификатор ресурсной группы.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
rg_name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Имя ресурсной группы.
|
||
<br> В комбинации с заданным аккаунтов может быть альтернативой
|
||
параметру <code>rg_id</code>
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
servers
|
||
</td>
|
||
<td>
|
||
(list)
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации backend-серверов.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
address
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
IP-адрес. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
backends
|
||
</td>
|
||
<td>
|
||
(list)
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих параметры backend-сервера для разных
|
||
конфигураций backend.
|
||
<br>Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
check
|
||
</td>
|
||
<td>
|
||
(str)
|
||
<br>Значения:
|
||
<br><code>enabled</code>
|
||
<br><code>disabled</code>
|
||
<br>Default: <code>enabled</code>
|
||
</td>
|
||
<td>
|
||
Проверка доступности сервера.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Название конфигурации backend. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
port
|
||
</td>
|
||
<td>
|
||
(int)
|
||
<br>Значения:
|
||
<br><code>1</code>-<code>65535</code>
|
||
</td>
|
||
<td>
|
||
Порт. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td>
|
||
server_settings
|
||
</td>
|
||
<td>
|
||
(dict)
|
||
</td>
|
||
<td>
|
||
Словарь, описывающий параметры backend-сервера.
|
||
<br> Ключи данного словаря аналогичны ключам словаря
|
||
<a href=#backend_default_settings>
|
||
default_settings
|
||
</a>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="2">
|
||
name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Название. Обязательный параметр.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
state
|
||
</td>
|
||
<td>
|
||
(str)
|
||
<br>Значения:
|
||
<br><code>present</code>
|
||
<br><code>absent</code>
|
||
<br><code>enabled</code>
|
||
<br><code>disabled</code>
|
||
<br><code>restart</code>
|
||
<br>Default: <code>present</code>
|
||
</td>
|
||
<td>
|
||
Целевое состояние балансировщика нагрузки.
|
||
<br>Выполнение с <code>state=restart</code> позволяет выполнить
|
||
перезапуск балансировщика, соответственно, всегда возвращает
|
||
<code>changed: true</code>.
|
||
<br>Значения <code>present</code> и <code>enabled</code> равнозначны
|
||
и соответствуют включённому и запущенному балансировщику.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
verify_ssl
|
||
</td>
|
||
<td>
|
||
(bool)
|
||
<br>Default: <code>true</code>
|
||
</td>
|
||
<td>
|
||
Позволяет отключить проверку SSL сертификатов при выполнении API
|
||
вызовов в адрес контроллера облачной инфраструктуры, например,
|
||
при работе с изолированной облачной инфраструктурой, использующей
|
||
самоподписанные сертификаты. Применяйте данный параметр с
|
||
осторожностью, предпочтительно в защищенных средах.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
vins_id
|
||
</td>
|
||
<td>
|
||
(int)
|
||
</td>
|
||
<td>
|
||
Идентификатор внутренней сети.
|
||
<br>Может быть не задан, если задан <code>ext_net_id</code> -
|
||
в таком случае балансировщик будет подключён только к
|
||
внешней сети.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="3">
|
||
vins_name
|
||
</td>
|
||
<td>
|
||
(str)
|
||
</td>
|
||
<td>
|
||
Имя внутренней сети.
|
||
<br> В комбинации с заданной РГ может быть альтернативой для
|
||
параметра <code>vins_id</code>.
|
||
</td>
|
||
</tr>
|
||
</table>
|
||
|
||
## Возвращаемые значения модуля decort_lb
|
||
|
||
Модуль **decort_lb** возвращает информацию о балансировщике в виде словаря `facts` со следующими ключами:
|
||
|
||
<table>
|
||
<tr>
|
||
<th colspan="4">
|
||
Ключ
|
||
</th>
|
||
<th>
|
||
Тип
|
||
<br>данных
|
||
</th>
|
||
<th>
|
||
Описание
|
||
</th>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
backends
|
||
</td>
|
||
<td>
|
||
list
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации backend.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="3">
|
||
algorithm
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Используемый алгоритм.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="3">
|
||
name
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Название конфигурации backend.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="3">
|
||
serverDefaultSettings
|
||
</td>
|
||
<td>
|
||
dict
|
||
</td>
|
||
<td>
|
||
Cловарь, описывающий параметры по умолчанию для backend-серверов.
|
||
<br> Ключи данного словаря аналогичны ключам словаря
|
||
<a href=#backend_default_settings>
|
||
default_settings
|
||
</a>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td colspan="3">
|
||
servers
|
||
</td>
|
||
<td>
|
||
list
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации backend-серверов.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td colspan="2">
|
||
address
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
IP-адрес.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td colspan="2">
|
||
check
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Проверка доступности сервера.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td colspan="2">
|
||
name
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Название.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td colspan="2">
|
||
port
|
||
</td>
|
||
<td>
|
||
int
|
||
</td>
|
||
<td>
|
||
Порт.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td></td>
|
||
<td></td>
|
||
<td colspan="2">
|
||
serverSettings
|
||
</td>
|
||
<td>
|
||
dict
|
||
</td>
|
||
<td>
|
||
Cловарь, описывающий параметры backend-сервера.
|
||
<br> Ключи данного словаря аналогичны ключам словаря
|
||
<a href=#backend_default_settings>
|
||
default_settings
|
||
</a>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
frontends
|
||
</td>
|
||
<td>
|
||
list
|
||
</td>
|
||
<td>
|
||
Список словарей, описывающих конфигурации frontend.
|
||
<br> Ключи данного словаря аналогичны ключам словарей списка
|
||
<a href=#frontends>
|
||
frontends
|
||
</a>.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
gid
|
||
</td>
|
||
<td>
|
||
int
|
||
</td>
|
||
<td>
|
||
Идентификатор физического кластера (Grid ID).
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
id
|
||
</td>
|
||
<td>
|
||
int
|
||
</td>
|
||
<td>
|
||
Идентификатор балансировщика.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
name
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Имя балансировщика.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
rg_id
|
||
</td>
|
||
<td>
|
||
int
|
||
</td>
|
||
<td>
|
||
Идентификатор ресурсной группы.
|
||
</td>
|
||
</tr>
|
||
<tr>
|
||
<td colspan="4">
|
||
state
|
||
</td>
|
||
<td>
|
||
str
|
||
</td>
|
||
<td>
|
||
Статус балансировщика.
|
||
</td>
|
||
</tr>
|
||
</table>
|