lua envoyFilter在isio -sidecar中被忽略



我正在尝试使envoyFilter在istio-sidecar中工作

似乎:

  • 注入发生。因为我的过滤器存在于我的集群资源中,每当我更新过滤器时,istod就会推送到我的侧车。(和我的pod和我的过滤器在同一个命名空间)
  • 我用来选择的标签出现在pod上。

但是我的脚本完全被忽略了。请问,我错过了什么?

PS:我从特使的参考得到lua:

  • https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter.html?highlight=request_handle配置
  • https://www.envoyproxy.io/docs/envoy/latest/configuration/http/http_filters/lua_filter
piVersion: networking.istio.io/v1alpha3
kind: EnvoyFilter
metadata:
  name: authent-filter
  namespace: sma-app-integration
spec:
  workloadSelector:
    labels:
      com.effia.smartaccess/secured: enabled
  configPatches:
  - applyTo: HTTP_FILTER
    match:
      context: SIDECAR_INBOUND
      listener:
        portNumber: 8080
        filterChain:
          filter:
            name: "envoy.http_connection_manager"
            subFilter:
              name: "envoy.router"
    patch:
      operation: INSERT_FIRST
      value:
        name: envoy.filters.http.lua
        typed_config:
          "@type": "type.googleapis.com/envoy.extensions.filters.http.lua.v3.Lua"
          inlineCode: |
              function envoy_on_request(request_handle)
                request_handle:respond({[":status"] = "100"},"nope")
              end

编辑:我们不能让它工作,然后切换到Nginx。最近的一个功能可以完成这项工作。

我觉得你应该把content改成" context: gateway ";因为这是针对入口流量的,必须应用于所有网关。

然后你可以通过执行配置转储来检查它是否存在:kubectl exec $pod -n $namespace -c istio-proxy——pilot-agent request GET config_dump>dump.json

搜索" authenticate -filter"查看它是否被应用。

相关内容

  • 没有找到相关文章

最新更新