Перейти к содержанию

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

Общие сведения

📌 Envoy Proxy — это высокопроизводительный, открытый (open-source) прокси и балансировщик, созданный для работы в современных облачных и микросервисных архитектурах. Он широко применяется в облачных платформах, микросервисной архитектуре и сервисных mesh-сетях, таких как Istio.

Envoy работает на уровне L3/L4 и L7, обеспечивая маршрутизацию TCP и HTTP-трафика, балансировку нагрузки, безопасность, наблюдаемость и полную контролируемость сетевого взаимодействия между сервисами.

⚙️ Основные возможности Envoy:

  • Поддержка L4/L7 балансировки

    • Управление TCP, HTTP и HTTPS трафиком.
    • Гибкие сценарии маршрутизации, включая SNI, заголовки, куки, URI, модули фильтрации.
    • gRPC-проксирование, поддержка WebSocket, HTTP/2, HTTP/3.
  • Горячая перезагрузка конфигурации

    • Поддержка динамической перезагрузки конфигурации без прерывания соединений.
    • Интеграция с xDS API для работы в динамической среде (например, Kubernetes).
  • Безопасность и TLS

    • Поддержка TLS termination, mTLS, SNI-routing, SSL-сертификатов, в том числе самоподписанных.
    • Аудит, шифрование соединений, поддержка пользовательских CA.
  • Обширная телеметрия и наблюдаемость

    • Встроенные метрики Prometheus, логирование, access logs.
    • Интеграция с Jaeger, Zipkin, Datadog, OpenTelemetry.
    • Статистика соединений, latency, ошибок и многое другое.
  • Расширяемость

    • Конфигурация через custom YAML-файлы или UI-форму.
    • Возможность подключения фильтров, плагинов, использования Lua-скриптов.
    • Поддержка API-based конфигурации (ADS, SDS, RDS, LDS).

Когда использовать балансировщик нагрузки Envoy:

  • Вы строите микросервисную архитектуру и нуждаетесь в надёжной маршрутизации между сервисами.
  • Нужно использовать современные протоколы (gRPC, HTTP/2, HTTP/3, WebSockets).
  • Требуется тонкая маршрутизация по заголовкам, доменам, путям и другим критериям.
  • Вы хотите обеспечить централизованную TLS-терминацию, отказоустойчивость и безопасность.
  • Необходима глубокая телеметрия и трассировка трафика без потери производительности.
  • Требуется горячее обновление конфигурации без перезапуска сервиса.
  • Вы хотите максимальную гибкость конфигурации — как через UI, так и через YAML.

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

  1. Выбор сервиса На пользовательском портале Nimbus откройте в боковом меню Каталог Сервисов и выберите «Балансировщик нагрузки Envoy».

  2. Заполнение вкладки «Build a VM»
    Блок полей Place VM to:

    • Environment — выберите окружение (например, VMWare).
    • Location — выберите географическую локацию.
    • Ресурсный пул — выберите нужный ресурсный пул для размещения ВМ.

    Блок полей VM Configuration:

    • Template — шаблон ОС для виртуальной машины.
    • CPU — конфигурация CPU (формат: cores x sockets).
    • Memory (GB) — объем оперативной памяти.
    • Объем базовых дисков (ГБ) — подтягивается автоматически из шаблона.
    • Тип основных дисков — опционально.
    • Network — выберите сетевое подключение.

    Блок полей Наименование сервиса:

    • Имя сервиса — обязательное поле, латиница и цифры, без пробелов.
    • Описание сервиса — опционально.

Нажмите «Продолжить» или перейдите на следующую вкладку.
3. Заполнение вкладки «Дополнительные опции»

  • Префикс имени ВМ — до 15 символов (латиница, цифры, дефис). Если не заполнено, имя будет присвоено автоматически.
  • Описание ВМ — необязательно.
  • Дополнительный диск (ГБ) — при необходимости.
  • Тип дополнительного диска — при необходимости.


4. Заполнение вкладки «Envoy Settings»
- Configuration — способ настройки:

  • Form — ввод параметров через форму.
  • Custom — ручной ввод полной конфигурации.

Если выбран Custom, все поля на вкладке, кроме Envoy Config, становятся недоступны. Введите вручную конфигурацию HAProxy.

Если выбран Form, поле Envoy Config становится недоступным.

Если выбран Form, то нужно заполнить:

  • Service name — название внутреннего сервиса.
  • Port — порт, на котором будет слушать HAProxy.
  • Balanced Servers IP — список IP-адресов backend-серверов через запятую.
  • Envoy StatisticEnable для активации статистики или Disable.
  • Envoy Config — будет неактивно при выборе Form.


5. Заполнение вкладки «SSL Settings»

  • HTTPS enable — включить поддержку HTTPS:

    • Если disabled, все поля вкладки становятся недоступными.
    • Если enabled, необходимо задать параметры ниже.
  • SSL selfsigned — использование самоподписанного сертификата:

    • Если enabled, необходимо заполнить:
      • Country Name
      • State or province name
    • Locality Name
    • Organization Name
    • Organizational unit Name
    • Email address
    • Common Name (например, FQDN сервиса)
    • subjectAltName (например, www.ansible.com)
    • Поля SSL Key и SSL Cert будут недоступны.
  • Если disabled, нужно заполнить:

    • SSL Key — приватный ключ.
    • SSL Cert — публичный сертификат.
  • Остальные поля станут недоступными.


6. Завершение заказа
Нажмите «Добавить в корзину». Сервис появится в вашей корзине в правом верхнем углу. Продолжайте оформление по стандартной процедуре.