Istio 1.3+ применяет http-фильтр только для определенных маршрутов - PullRequest
0 голосов
/ 17 октября 2019

У меня есть ресурс EnvoyFilter, который выполняет http-вызов для службы аутентификации. Этот фильтр применяется к SIDECAR_INBOUND и работает очень хорошо. Я просто должен развернуть свой POD с определенной меткой, и фильтр применяется. Таким образом, все входящие запросы на этот POD аутентифицируются этим фильтром.

Но недавно некоторые товарищи по команде хотели новую функцию: возможность иметь публичные маршруты и частные маршруты в одном и том же POD. Поэтому мне нужно выполнять фильтр, только если вызывается частный маршрут (например, / private / getUsers или /public/getUsers).

С выпуском версии 1.3+ Istio я вижу, что управление фильтрами былополностью переработан с новыми возможностями и возможностями. Но документация не очень полезна, и я не знаю, сможет ли новая версия EnvoyFilters ответить на мои запросы.

Знаете ли вы, возможно ли это?

Спасибо

1 Ответ

0 голосов
/ 30 октября 2019

К сожалению, это невозможно . Вы можете сопоставить только поля, упомянутые здесь , но не отдельные маршруты.

Ниже приведен пример, который будет применяться ко всем маршрутам, но вы не можете сопоставить конкретные пути.

apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: httproute
spec:
  configPatches:
  - applyTo: VIRTUAL_HOST
    patch:
      operation: MERGE
      value:
        request_headers_to_remove: [foo]
...