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.
terraform-provider-dynamix/wiki/1.1.0/07.01.14-Resource_dynamix_l...

204 lines
13 KiB

This file contains ambiguous Unicode characters!

This file contains ambiguous Unicode characters that may be confused with others in your current locale. If your use case is intentional and legitimate, you can safely ignore this warning. Use the Escape button to highlight these characters.

_Resource_ функция **dynamix_lb** служит для управления балансировщиком нагрузки (load balancer). Балансировщики нагрузки служат для равномерного распределения сетевой нагрузки между подключенными к ним сервисами.
## Аргументы
_Resource_ функция **dynamix_lb** принимает следующие аргументы:
| Аргумент | Тип | Обязательный | Описание |
| --- | --- | :---: | --- |
| rg_id | int | :heavy_check_mark: | ID ресурсной группы |
| name | string | :heavy_check_mark: | Название балансировщика |
| start | bool | :heavy_check_mark: | Флаг запуска балансировщика. По умолчанию - true. Eсли load balancer был в статусе "stopped" (start = false), то для успешного старта, он должен быть доступен (enable = true) |
| extnet_id | int | :x: | ID внешней сети. extnet_id и vins_id не могут быть одновременно равны 0 |
| vins_id | int | :x: | ID виртуальной сети. extnet_id и vins_id не могут быть одновременно равны 0 |
| desc | string | :x: | Описание балансировщика |
| enable | bool | :x: | Флаг доступности балансировщика |
| restart | bool | :x: | Флаг перезагрузки балансировщика. Можно использовать только на созданном ресурсе. По умолчанию - false. Перезагрузка происходит только при смене флага с false на true |
| safe | bool | :x: | Флаг перезапуска первичных и вторичных узлов последовательно в режиме высокой доступности (HA mode) |
| config_reset | bool | :x: | Флаг сброса конфигурации балансировщика. По умолчанию - false. Сброс происходит только при изменении флага с false на true |
| ha_mode | bool | :x: | Использовать высокодоступную схему для развертывания LB |
| permanently | bool | :x: | Флаг моментального удаления балансировщика из платформы. По-умолчанию - false. При необходимости, после изменения значения флага, необходимо выполнить `terraform apply` для изменения значения флага в состоянии терраформа, а после этого - `terraform destroy` |
| restore | bool | :x: | Флаг восстановления балансировщика после удаления. Восстановить возможно только балансировщики, удаленные с флагом permanently равным false. Предварительно, необходимо импортировать удаленный ресурс и изменить значение флага. После этого - выполнить `terraform apply`. |
| sysctl_params | []map[string]interface{} | :x: | Пользовательские значения sysctl для балансировщика, для применения настроек, необходимо перезагрузить балансировщик|
## Возвращаемые значения
В случае успешного выполнения _resource_ функция **dynamix_lb** возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:
| Параметр | Тип | Описание |
| --- | --- | --- |
| ha_mode | bool | Флаг, показывающий, включен ли режим haproxy |
| backends | []Struct{} [см. ниже](#описание-структуры-backend) | Список бекендов |
| created_by | string | Аккаунт, создавший балансировщик |
| created_time | int | Время создания |
| deleted_by | string | Кем балансировщик был удален |
| deleted_by | int | Время удаления |
| desc | string | Описание |
| dp_api_user | string | Имя пользователя для работы |
| extnet_id | int | ID внешней сети |
| frontends | []Struct{} [см. ниже](#описание-структуры-фронтенда) | Список фронтендов |
| gid | int | Grid ID балансировщика |
| guid | int | ID балансировщика |
| lb_id | int | ID балансировщика |
| manager_id | int | ID ресурса, к которому принадлежит данный балансировщик |
| manager_type | string | Тип ресурса, к которому принадлежит данный балансировщик |
| image_id | int | ID образа |
| milestones | int | Вехи |
| name | string | Имя балансировщика |
| part_k8s | bool | Является ли балансироващик частью кластера |
| primary_node | Struct{} [см. описание узлов](#описание-структуры-узлов) | Главный узел |
| rg_id | int | ID ресурсной группы |
| rg_name | string | Имя ресурсной группы |
| secondary_node | Struct{} [см. описание узлов](#описание-структуры-узлов) | Второй узел |
| status | string | Статус |
| tech_status | string | Технический статус |
| updated_by | string | Кем балансировщик был обновлен |
| updated_time | string | Время последнего обновления |
| user_managed | bool | Флаг указывающий, может ли пользователь управлять балансировщиком напрямую |
| vins_id | int | ID виртуальной сети |
### Описание структуры backend
| Параметр | Тип | Описание |
| --- | --- | --- |
| algorithm | string | Алгоритм работы бекенда |
| name | string | Имя бекенда |
| server_default_settings | Struct{} [см. ниже](#описание-структуры-настроек) | Описание настроек серверов бекенда по умолчанию |
| servers | []Struct{} [см. ниже](#описание-структуры-сервера) | Список серверов |
### Описание структуры настроек
| Параметр | Тип | Описание |
| --- | --- | --- |
| downinter | int | Интервал между проверками на недоступность сервера |
| inter | int | Интервал между проверками на доступность сервера |
| rise | int | Кол-во попыток, после которых, сервер будет вновь включен в схему балансирования |
| fall | int | Кол-во неудачных попыток, после которых, сервер получит статус "unavailable" |
| slowstart | int | Интервал, в мс, в через который сервер получит статус "available" |
| maxconn | int | Кол-во соединений к северу, при достижении этого кол-ва, сервера выходит из схемы балансирования |
| maxqueue | int | Кол-во соедений в очереди к серверу |
| weight | int | Вес сервера для работы алгоритма балансирования по весу |
### Описание структуры сервера
| Параметр | Тип | Описание |
| --- | --- | --- |
| address | string | Адрес сервера |
| check | string | Включены ли проверки |
| name | string | Имя сервера |
| port | int | Порт сервера |
| server_settings | [см. Описание структуры настроек](#описание-структуры-настроек) | Настройки сервера |
### Описание структуры фронтенда
| Параметр | Тип | Описание |
| --- | --- | --- |
| backend | string | Имя бекенда, к которому подключен фронтенд |
| name | string | Имя фронтенда |
| bindings | []Struct{} [см. ниже](#описание-структуры-привязки-фронтенда) | Привязки фронтенда |
### Описание структуры привязки фронтенда
| Параметр | Тип | Описание |
| --- | --- | --- |
| address | string | Адрес, к которому привязан фронтенд |
| name | string | Имя привязки |
| port | int | Порт привязки |
### Описание структуры узлов
| Параметр | Тип | Описание |
| --- | --- | --- |
| backend_ip | string | IP адрес бекенда |
| compute_id | int | ID виртуальной машины |
| frontend_ip | string | IP адрес фронтенда |
| mgmt_ip | string | IP адрес |
| network_id | int | ID сети |
## Ограничение на наименование ресурса
Ресурс не должен содержать в названии символ `#`
## Пример использования
Пример вызова _resource_ функции **dynamix_lb**:
```terraform
resource "dynamix_lb" "lb" {
#id ресурсной группы для создания балансировщика
#обязательный параметр
#тип - целое число
rg_id = 1111
#наименование load balancer
#обязательный параметр
#тип - строка
name = "tf-test-lb"
#id внешней сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
extnet_id = 6
#id виртуальной сети
#опциональный параметр
#id внешней сети и id виртуальной сети не могут быть одновременно = 0
#тип - целое число
vins_id = 758
#флаг запуска load balancer
#обязательный параметр
#если load balancer был в статусе "stopped" (start = false),
#то для успешного старта, он должен быть доступен (enable = true)
#по умолчанию - true
#тип - булев
start = true
#позволяет создать схему отказоустройчивой LB
#опциональный параметр
#тип - булев
#ha_mode = true
#описание
#опциональный параметр
#тип - строка
#descс= "temp super lb for testing tf provider"
#флаг доступности load balancer
#опциональный параметр
#тип - булев
#enable = true
#флаг перезапуска load balancer
#опциональный параметр
#перезагрузка срабатывает только при изменении флага с false на true
#тип - булев
#restart = false
#флаг сброса конфигурации load balancer
#опциональный параметр
#сброс срабатывает только при изменении флага с false на true
#тип - булев
#config_reset = false
#флаг моментального удаления load balancer
#опциональный параметр
#применяется при выполнении команды terraform destroy
#по умолчанию - false
#тип - булев
#permanently = false
#флаг восстановления load balancer
#опциональный параметр
#восстановить можно load balancer, удаленным с флагом permanently = false
#тип - булев
#restore = true
#флаг используемый при рестарте load balancer
#опциональный параметр
#значение по умолчанию - true, при данном значении рестарт производится на обоих нодах в HA mode
#тип - булев
#safe = true
#пользовательские значения sysctl для LB
#опциональный параметр
#тип - список мап
#sysctl_params = [{text = "1", text = "some"}]
}
```
После успешного завершения такого вызова **dynamix_lb** в переменной `dynamix_lb.lb` будут сохранены возвращаемые значения.