Проблема с настройкой Envoy http_connection_manager

Я новичок в прокси-сервере Envoy. Я пытаюсь понять базовую конфигурацию фильтров для http_connection_manager

У меня есть такой код:

filter_chains:
    - filters:
        - name: envoy.filters.network.http_connection_manager
          typed_config:
            "@type": type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager
            codec_type: auto
            stat_prefix: ingress_http

Мне нужна помощь в понимании того, что такое встреча:

  1. name: envoy.filters.network.http_connection_manager --- (я думаю, это какой-то встроенный HTTP-фильтр)

  2. @type: type.googleapis.com/envoy.extensions.filters.network.http_connection_manager.v3.HttpConnectionManager --- (понятия не имею, что это)

Я пытался понять это из официальных документов, а также читал некоторые сообщения среднего размера, некоторые видео на YouTube, но все же я не смог расшифровать значение этих строк.

Если у кого-то есть ответ, буду признателен. приветствуются даже любые ресурсы, публикации, ссылки на видео или любые виды информации, пожалуйста, поделитесь ими, если это возможно. Благодарность


person 1101 tech    schedule 27.02.2021    source источник


Ответы (1)


  1. The name field indicates the common name of the extension you want to turn on. They typically have enough information in the name to give you a little bit of a handle on what they do and where in the toolchain they are.
    • envoy means this is packaged straight with envoy. Not a 3rd party extension
    • filters означает, что это расширение фильтра. Envoy также поддерживает другие типы расширений, хотя фильтры, наверное, самый распространенный.
    • network означает, что это сетевой фильтр. Это работает на уровне TCP. Вы также можете часто видеть здесь http для фильтров, которые работают с HTTP-запросами.
    • http_connection_manager специальный фильтр. Это диспетчер HTTP-соединений, который в основном делает то, что говорит: обрабатывает все HTTP-соединения. Без этого вы не получите обработку HTTP-маршрутов, манипуляции с заголовками, виртуальные хосты и т. Д. полные возможности
  2. type указывает точную спецификацию конфигурации protobuf, которая будет отправлена ​​фильтру для его инициализации и запуска поведения. Это немного непрозрачно, просто знайте, что каждый фильтр имеет доступный набор параметров конфигурации v2 и v3. Для любого данного фильтра документы посланника действительно ссылаются на их типизированную конфигурацию. Например. страница брокера kafka и прямое определение прототипа
person justincely    schedule 01.03.2021
comment
также, связанные: stackoverflow.com / questions / 63473416 / - person justincely; 01.03.2021
comment
Большое спасибо. этот ответ очень помог мне понять. У меня недостаточно очков, чтобы проголосовать за ваш ответ, или я сделаю это. - person 1101 tech; 02.03.2021
comment
Совершенно не беспокойтесь, рад быть полезным. Однако даже без достаточного количества баллов вы все равно можете принять мой ответ как ответ, решивший вашу проблему, щелкнув зеленую стрелку. инструкции - person justincely; 02.03.2021
comment
сделал это, принял в качестве ответа. Я не знал этого. - person 1101 tech; 03.03.2021
comment
знаете ли вы какие-либо ресурсы, чтобы прочитать, что это за '@type'? Теперь я полностью понимаю, что указывает поле «имя», но все же «@type» неясен. - person 1101 tech; 03.03.2021
comment
@type - это спецификатор полезной нагрузки конфигурации. Например. http_connection_manager имеет другой тип конфигурации, чем kafka_broker. В приведенном выше примере говорится, что следующая конфигурация будет сообщением protobuf с эти поля - person justincely; 03.03.2021