Создать целевую группу
Панель управления
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>Укажите:
<pool_name>— имя целевой группы;<algorithm>— название алгоритма:ROUND_ROBINилиLEAST_CONNECTIONS;<listener_name>— имя правила, можно посмотреть с помощью командыopenstack loadbalancer listener list;<protocol>— название протокола:TCP,UDP,HTTP,PROXY.
-
Добавьте сервер в целевую группу:
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.
-