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

13 KiB

Resource функция dynamix_lb служит для управления балансировщиком нагрузки (load balancer). Балансировщики нагрузки служат для равномерного распределения сетевой нагрузки между подключенными к ним сервисами.

Аргументы

Resource функция dynamix_lb принимает следующие аргументы:

Аргумент Тип Обязательный Описание
rg_id int ✔️ ID ресурсной группы
name string ✔️ Название балансировщика
start bool ✔️ Флаг запуска балансировщика. По умолчанию - true. Eсли load balancer был в статусе "stopped" (start = false), то для успешного старта, он должен быть доступен (enable = true)
extnet_id int ID внешней сети. extnet_id и vins_id не могут быть одновременно равны 0
vins_id int ID виртуальной сети. extnet_id и vins_id не могут быть одновременно равны 0
desc string Описание балансировщика
enable bool Флаг доступности балансировщика
restart bool Флаг перезагрузки балансировщика. Можно использовать только на созданном ресурсе. По умолчанию - false. Перезагрузка происходит только при смене флага с false на true
safe bool Флаг перезапуска первичных и вторичных узлов последовательно в режиме высокой доступности (HA mode)
config_reset bool Флаг сброса конфигурации балансировщика. По умолчанию - false. Сброс происходит только при изменении флага с false на true
ha_mode bool Использовать высокодоступную схему для развертывания LB
permanently bool Флаг моментального удаления балансировщика из платформы. По-умолчанию - false. При необходимости, после изменения значения флага, необходимо выполнить terraform apply для изменения значения флага в состоянии терраформа, а после этого - terraform destroy
restore bool Флаг восстановления балансировщика после удаления. Восстановить возможно только балансировщики, удаленные с флагом permanently равным false. Предварительно, необходимо импортировать удаленный ресурс и изменить значение флага. После этого - выполнить terraform apply.
sysctl_params []map[string]interface{} Пользовательские значения sysctl для балансировщика, для применения настроек, необходимо перезагрузить балансировщик

Возвращаемые значения

В случае успешного выполнения resource функция dynamix_lb возвращает в указанную при вызове переменную элемент, который состоит из следующих параметров:

Параметр Тип Описание
ha_mode bool Флаг, показывающий, включен ли режим haproxy
backends []Struct{} см. ниже Список бекендов
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:

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