我创建了一个 EnvoyFilter,用于将 TCP 空闲超时应用于出站请求。这是我的过滤器配置:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: tcp-idle-timeout
spec:
workloadSelector:
labels:
app: mecha-dev
filters:
- listenerMatch:
listenerType: SIDECAR_OUTBOUND
listenerProtocol: TCP
filterName: envoy.tcp_proxy
filterType: NETWORK
filterConfig:
idle_timeout: 5s
istio版本是1.2.5
,它使用的envoyproxy版本是1.11.0-dev
。
我成功创建了过滤器,但似乎没有任何效果。我检查了 istio 配置转储,但在那里找不到我的过滤器,所以我认为我的过滤器配置是错误的。
我跟着这个文件创建过滤器。
该文档没有提供太多信息。由于 Istio 版本1.2.5
较旧,因此它不支持我之前的过滤器配置:
apiVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
name: listener-timeout-tcp
namespace: istio-system
spec:
configPatches:
- applyTo: NETWORK_FILTER
match:
context: SIDECAR_OUTBOUND
listener:
filterChain:
sni: some.app.com
filter:
name: envoy.filters.network.tcp_proxy
patch:
operation: MERGE
value:
name: envoy.filters.network.tcp_proxy
typed_config:
'@type': type.googleapis.com/envoy.config.filter.network.tcp_proxy.v2.TcpProxy
idle_timeout: 5s
我的主要要求是创建一个仅适用于发往 的出站请求的过滤器some.app.com
。我尝试转换此过滤器以使其版本1.2.5
兼容(第一个配置),但我认为它不起作用。
我的 出了什么问题EnvoyFilter
?