You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

894 lines
22 KiB

6 days ago
# Модуль 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>
оварь, описывающий параметры по умолчанию для 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>
оварь, описывающий параметры по умолчанию для 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>
оварь, описывающий параметры 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>