【问题标题】:lua envoyFilter ignored in istio-sidecarlua envoyFilter 在 istio-sidecar 中被忽略
【发布时间】:2021-01-15 15:49:44
【问题描述】:

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

看来:

  • 发生注入。由于我的过滤器存在于集群的资源中,并且每当我更新过滤器时,istiod 都会推送到我的边车。 (而且我的 pod 和我的过滤器在同一个命名空间中)
  • 我用于选择的标签出现在 pod 上。

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

PS:我从特使的 ref 那里得到了 lua:

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。最近的一项功能可以完成这项工作。

【问题讨论】:

    标签: envoyproxy istio-sidecar


    【解决方案1】:

    我认为您应该将 contect 更改为“context: GATEWAY”,因为这是用于入口流量并且必须应用于所有网关。

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

    然后搜索“authent-filter”看看它是否被应用。

    【讨论】:

      猜你喜欢
      • 2020-08-09
      • 2022-06-29
      • 2020-07-25
      • 2021-08-21
      • 2020-11-22
      • 2021-11-30
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多