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.2.1/07.01.14-Resource_dynamix_l...

204 lines
13 KiB

5 days ago
_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` будут сохранены возвращаемые значения.