VK Private Cloud logo
Помощь
Обновлена 17 июля 2026 г. в 15:55

Балансировщики нагрузки

Балансировщик нагрузки — это метод распределения заданий/трафика между несколькими сетевыми устройствами (например, серверами) для достижения следующих целей:

  • Оптимизация использования ресурсов.
  • Сокращение времени обслуживания запросов.
  • Горизонтальное масштабирование кластера (динамическое добавление/удаление устройств).
  • Обеспечение отказоустойчивости (резервирования).

Создание и управление балансировщиком доступно через Портал самообслуживания в разделе Виртуальные сети на странице Балансировщики нагрузки.

Создание балансировщика

Чтобы создать балансировщик нагрузки, используйте один из интерфейсов:

  • Портал самообслуживания (подробнее — в Руководстве пользователя VK Private Cloud).
  • OpenStack CLI.

OpenStack CLI

Чтобы создать балансировщик при помощи OpenStack CLI:

  1. Выполните подготовительные операции (подробнее — в разделе Вход для Администратора Платформы).

  2. Запустите команды:

    • Для создания балансировщика:

      # openstack loadbalancer create    [--name <NAME>]    [--description <DESCRIPTION>]    [--vip-address <VIP_ADDRESS>]    [--vip-port-id <VIP_PORT>]    [--vip-subnet-id <VIP_SUBNET>]    [--vip-network-id <VIP_NETWORK>]    [--vip-qos-policy-id <VIP_QOS_POLICY>]    [--project <PROJECT>]    [--provider <PROVIDER>]    [--availability-zone <AVAILABILITY_ZONE>]    [--enable | --disable]

      Описание опций приведено в разделе Создание балансировщика нагрузки.

    • Для создания обработчика:

      # openstack loadbalancer listener create    [--name <NAME>]    [--description <DESCRIPTION>]    --protocol <PROTOCOL>    [--connection-limit <LIMIT>]    [--insert-headers <HEADER=VALUE> [, <HEADER_2=VALUE_2>, ...]]    --protocol-port <PORT>    [--timeout-client-data <TIMEOUT>]    [--timeout-member-connect <TIMEOUT>]    [--timeout-member-data <TIMEOUT>]    [--timeout-tcp-inspect <TIMEOUT>]    [--enable | --disable]    [--allowed-cidr <ALLOWED_CIDR>]    <LOAD_BALANCER>

      Описание опций приведено в разделе Создание обработчика.

    • Для создания пула серверов балансировщика:

      # openstack loadbalancer pool create    [--name <NAME>]    [--description <DESCRIPTION>]    --protocol <PROTOCOL>    (--listener <LISTENER> | --loadbalancer <LOAD_BALANCER>)    [--session-persistence <SESSION_PERSISTENCE>]    --lb-algorithm <LB_ALGORITHM>    [--enable | --disable]    [--tls-container-ref <CONTAINER_REF>]    [--ca-tls-container-ref <CA_TLS_CONTAINER_REF>]    [--crl-container-ref <CRL_CONTAINER_REF>]    [--enable-tls | --disable-tls]

      Описание опций приведено в разделе Создание пула серверов.

    • Для создания монитора проверки работоспособности:

      # openstack loadbalancer healthmonitor create    [--name <NAME>]    --delay <DELAY>    [--domain-name <DOMAIN_NAME>]    [--expected-codes <CODES>]    [--http-method {GET,POST,DELETE,PUT,HEAD,OPTIONS,PATCH,CONNECT,TRACE}]    [--http-version <HTTP_VERSION>]    --timeout <TIMEOUT>    --max-retries <MAX_RETRIES>    [--url-path <URL_PATH>]    --type <TYPE>    [--max-retries-down <MAX_RETRIES_DOWN>]    [--enable | --disable]    <POOL>

      Описание опций приведено в разделе Создание монитора.

Методы балансировки

Балансировщик поддерживает три метода:

  • LEAST_CONNECTIONS. Учитывает количество подключений, поддерживаемых серверами в текущий момент времени. Каждый следующий запрос передается серверу с наименьшим количеством активных подключений.
  • ROUND_ROBIN. Представляет собой перебор по кругу: первый запрос передается первому серверу, затем следующий запрос передается второму и так до достижения последнего сервера, а затем все начинается сначала.
  • SOURCE_IP. В этом методе сервер, обрабатывающий запрос, выбирается произвольным образом и закрепляется (на сессию, в cookies) за конкретным источником запроса.