Istio 1.3+仅将http过滤器应用于特定路由

时间:2019-10-17 12:32:45

标签: kubernetes istio envoyproxy

我有一个EnvoyFilter资源,正在对身份验证服务进行http调用。此过滤器已应用于SIDECAR_INBOUND,并且效果很好。我只需要使用特定标签部署POD,然后应用过滤器。因此,该过滤器会验证该POD上的每个传入请求。

但是最近,一些队友想要一个新功能:在同一POD中具有公共路线和私人路线的可能性。因此,仅在调用专用路由(例如/ private / getUsers或/ public / getUsers)时,才需要执行过滤器。

在Istio的1.3+版本中,我可以看到过滤器管理已完全通过新功能进行了重构。但是文档不是很有帮助,我不知道新版本的EnvoyFilters是否能够满足我的需求。

您知道是否可能?

谢谢

1 个答案:

答案 0 :(得分:0)

很遗憾,这是不可能。您只能匹配提到的here字段,而不能匹配单个路由。

下面您可以找到适用于所有路线但无法匹配特定路径的示例。

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