Istio 虚拟服务中的查询参数匹配

Query params match in Istio Virtual Service

在 Istio 虚拟服务中,我有这个工作匹配块:

 - match:
   - uri:
       prefix: "/whatever"

一切正常。但是现在,除了 uri 之外,我还需要匹配 2 个查询参数。我试过这个:

 - match:
   - uri:
       prefix: "/whatever"
     queryParams:
       app-id:
         exact: "whatever"
       token:
         exact: "thisisthetoken"

没用。它不会重定向到目的地。我做错了什么?

如果您查看 Istio 文档的 HTTPMatchRequest 部分,描述 queryParams 的 table 行说:

Note: prefix matching is currently not supported.

好了。您不能将查询参数与 prefix HTTP 匹配。

在我的 virtualservice.yaml 中,我直接在“- match”部分下定义了 queryParams,它工作正常。

如果我在 uri 下定义 queryParams 并保存更改,它会自动移出 uri 部分,之后它就不起作用了。

可能这意味着 queryParams 对所有 uri 是全局的而不是对特定 uri