Envoy Gateway — это открытый Kubernetes API gateway, построенный на Envoy. Он полностью соответствует стандартам Gateway API и обеспечивает стандартизированное, высокопроизводительное и масштабируемое управление входящим север‑южным трафиком и маршрутизацией. Он может заменить Ingress как единый входящий трафик для кластеров Kubernetes, поддерживая ключевые сценарии, такие как выпуск сервисов, управление трафиком и защита безопасности.
Сообщество с открытым исходным кодом: https://github.com/envoyproxy/gateway
Envoy Gateway использует архитектуру control plane–data plane:
Envoy Gateway — дополнение, разработанное сообществом и интегрированное в CCE. Оно не покрывается SLA облачного сервиса. Оцените риски сервиса перед использованием. Для поддержки обратитесь к сообществу или отправьте запрос в службу поддержки.
Высокая доступность невозможна при использовании одного pod‑а. Если на узле, где работает pod дополнения, произойдёт ошибка, дополнение завершит работу с ошибкой.
В следующей таблице перечислены настройки load balancer.
Тип load balancer | Конфигурация |
|---|---|
Выделенный | Параметры: Network (TCP/UDP/TLS) и Network (TCP/UDP/TLS) & Application (HTTP/HTTPS)
Настройки сети
|
Общий |
Network Settings EIP: Если вы выбираете Auto assign, вы можете настроить пропускную способность для публичной сети. |
Если эта функция включена, ограничение скорости на уровне кластера и совместное кэширование обеспечивают точный контроль трафика и снижают нагрузку на бекенд. Обратите внимание, что это вводит сетевую задержку, а недоступность Redis может привести к ошибкам шлюза или сбоям ограничения скорости.
При настройке развертывания multi-AZ или привязки к узлам убедитесь, что существуют узлы, соответствующие политике планирования, и что в кластере достаточно ресурсов. В противном случае add-on pods не смогут работать.
Parameter | Description |
|---|---|
Multi-AZ Deployment |
|
Node Affinity |
|
Toleration | Использование как taint‑ов, так и toleration‑ов позволяет (но не требует) pod‑ам Deployment дополнения планироваться на узлах с соответствующими taint‑ами и обеспечивает контроль над политиками выселения pod‑ов, когда узлы‑хосты помечены taint‑ами. Дополнение применяет toleration‑ы по умолчанию для taint‑ов node.kubernetes.io/not-ready и node.kubernetes.io/unreachable. Временное окно toleration составляет 60 секунд. Для получения подробной информации см. Configuring Tolerance Policies. |
Component | Description | Тип ресурса |
|---|---|---|
envoy | Высокопроизводительный прокси, который перенаправляет трафик. Он не разворачивается во время установки дополнения. Вместо этого он генерируется автоматически после создания Gateway. | Deployment |
envoy-gateway | Разбирает ресурсы Gateway API и генерирует/передаёт конфигурации Envoy. | Deployment |
ai-gateway-controller | Создаётся, когда включён AI inference gateway. Это центральный контроллер, который внедряет логику распределения AI‑трафика в шлюзы. | Deployment |
cceaddon-envoy-gateway-service-mutating-webhook | Kubernetes MutatingAdmissionWebhook, который автоматически преобразует аннотации Service в соответствии с предопределёнными правилами при создании или обновлении Service. | Deployment |
envoy-ratelimit | Автоматически создаётся после развертывания envoy-gateway, когда включено глобальное ограничение скорости. Сервис распределённого ограничения скорости с поддержкой Redis, обладающий высокой производительностью. Он обеспечивает гибкое глобальное управление трафиком и защиту от перегрузки для запросов API уровня шлюза. | Deployment |
envoy и envoy-ratelimit не развертываются во время установки дополнения. Они не наследуют политики привязки, настроенные во время установки дополнения. Не изменяйте вручную их политики привязки, так как это может привести к проблемам с функциональностью.
Вы можете настроить развертывание плоскости данных Envoy Gateway и выбрать пространство имён для развертывания ресурсов Envoy Proxy (Deployments, Services и ServiceAccounts).
Для этого выполните следующие действия:

Не изменяйте этот параметр, если шлюз (Gateway) уже существует. После изменения существующие ресурсы не будут удалены. Вместо этого новые ресурсы будут созданы в новом пространстве имён.
Если вы включаете или отключаете получение IP-адреса клиента для load balancer, трафик к listener будет прерван. Будьте осторожны при выполнении этой операции.


В кластерах CCE Turbo совместные балансировщики нагрузки не поддерживают получение IP-адреса клиента. Используйте выделенные балансировщики нагрузки, чтобы внешние запросы могли отправляться напрямую в контейнеры.
Прозрачная передача исходного IP-адреса включена по умолчанию для выделенных балансировщиков нагрузки. Вам необходимо выбрать выделенный балансировщик нагрузки только при installing the Envoy Gateway add-on для получения IP-адреса клиента.