Создать целевую группу
Панель управления
OpenStack CLI
-
В панели управления перейдите в раздел Облачная платформа → Балансировщики.
-
Откройте вкладку Целевые группы
-
Нажмите Создать целевую группу.
-
Выберите регион и пул, где будет создана целевая группа. Балансировщик и целевая группа должны находиться в одном пуле.
-
Выберите балансировщик нагрузки.
-
Выберите протокол назначения трафика, по которому балансировщик будет передавать трафик на целевую группу. Доступны следующие комбинации протоколов для приема трафика на балансировщике и передачи трафика на целевую группу:
- TCP–TCP — классическая L4-балансировка;
- TCP–PROXY — информация о клиенте не теряется и передается в отдельном заголовке соединения;
- UDP–UDP — UDP-протокол быстрее, ч ем TCP, но менее надежен;
- HTTP–HTTP — L7-балансировка;
- HTTPS–HTTP — L7-балансировка с шифрованием и терминацией SSL-сертификата на балансировщике.
-
Для выбранного протокола будет автоматически выбран стандартный порт — измените его при необходимости. Значение порта будет общим для всех серверов в группе.
-
Откройте вкладку Серверы.
-
Отметьте серверы, которые добавятся в целевую группу.
-
Укажите настройки для каждого отмеченного сервера:
10.1. Выберите IP-адрес.
10.2. Опционально: измените порт.
10.3. Укажите вес сервера — это пропорциональная мера, обозначает долю запросов, которую обрабатывает сервер. Если значения весов одинаковые, то серверы обслуживают равное количество запросов. Если, например, в группе один сервер с весом «2» и два сервера с весом «1», то первый сервер получит 50% всех запросов, а другие два — по 25%. Максимальное значение веса — 256.
10.4. Опционально: чтобы направлять трафик на сервер только при недоступности остальных серверов в группе, отметьте чекбокс Резервный.
-
Откройте вкладку Алгоритм.
-
Выберите алгоритм распределения запросов — Round Robin или Least connections.
-
Опционально: чтобы включить метод Sticky Sessions, отметьте чекбокс Sticky sessions.
-
Откройте вкладку Проверки доступности.
-
Выберите тип проверки доступности. После создания группы тип проверки изменить нельзя.
-
Если выбран тип проверки HTTP, укажите параметры запроса — метод, путь и ожидаемые коды ответа.
-
Укажите интервал между проверками — интервал в секундах, с которым балансировщик отправляет проверяющие запросы серверам.
-
Укажите таймаут соединения — время ожидания ответа в секундах, должно быть меньше интервала между проверками.
-
Укажите порог успеха — количество успешных обращений подряд, после которых сервер переводится в рабочее состояние.
-
Укажите порог неуспеха — количество неуспешных обращений подряд, после которых работа сервера приостанавливается.
-
Опционально: измените имя целевой группы или оставьте сформированное по умолчанию.
-
Опционально: введите комментарий к группе.
-
Нажмите Создать целевую группу.
-
Создайте целевую группу:
openstack loadbalancer pool create \
--name <pool_name> \
--lb-algorithm <algorithm> \
--listener <listener_name> \
--protocol <protocol_name>Укажите:
<pool_name>
— имя целевой группы;<algorithm>
— название алгоритма:ROUND_ROBIN
илиLEAST_CONNECTIONS
<listener_name>
— имя правила, можно посмотреть с помощьюopenstack loadbalancer listener list
<protocol_name>
— название протокола.
-
Добавьте сервер в целевую группу:
openstack loadbalancer member create \
--subnet-id <subnet_uuid> \
--address <server_ip_address> \
--protocol-port <port> \
<pool_name>Укажите:
<subnet_uuid>
— ID приватной или публичной подсети сервера. Список можно посмотреть с помощьюopenstack subnet list
;<server_ip_address>
— IP-адрес сервера из указанной подсети;<port>
— номер порта;<pool_name>
— имя целевой группы, которую создали на шаге 2.
-
Опционально: создайте проверку доступности:
openstack loadbalancer healthmonitor create \
--delay <delay> \
--timeout <timeout> \
--max-retries <max_retries> \
--max-retries-down <max_retries_down> \
--type <type> \
--http-method <http_method> \
--url-path <url_path> \
--expected-codes <codes> \
<pool_name>Укажите:
-
<delay>
— интервал между проверками в секундах; -
<timeout>
— время ожидания ответа в секундах; -
<max_retries>
— количество успешных обращений подряд, после которых сервер переводится в рабочее состояние; -
<max_retries_down>
— количество неуспешных обращений подряд, после которых работа сервера приостанавливается; -
<type>
— тип проверки:HTTP
,PING
,TCP
,TLS_HELLO
,UDP_CONNECT
; -
параметры HTTP-запроса, если выбрали тип проверки —
HTTP
:--http-method <http_method>
— метод проверки:GET
,POST
,DELETE
,PUT
,HEAD
,OPTIONS
,PATCH
,CONNECT
,TRACE
;--url-path <url_path>
— путь запроса без доменного имени;--expected-codes <codes>
— ожидаемые коды ответа через запятую;
-
<pool_name>
— имя целевой группы, которое вы задали на шаге 2.
-