设置istio和基本的bookinfo应用程序
按如下方式设置虚拟服务:一个具有标头的服务:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~另一种是使用queryParams作为路由差异点:
kind: VirtualService
apiVersion: networking.istio.io/v1alpha3
metadata:
name: bookinfo
spec:
hosts:
- '*'
gateways:
- bookinfo-gateway
http:
- match:
- headers:
apiKey:
exact: test
rewrite:
uri: /productpage
route:
- destination:
host: productpage
port:
number: 9080
tcp: ~
tls: ~由于某些原因,头策略似乎工作得很好。也就是说,如果我不提交header=test,istio将返回404。
然而,对于queryParams来说,它总是返回thruthy。我做错了什么吗?或者这是一个核心的istio相关问题。
(注意:这两个vs不是并行运行的,而是从一个到另一个的更新,所以有两个相似的VS不会有什么奇怪的地方)
理想情况下,我希望queryParam与标头的行为是一样的。
发布于 2019-08-28 02:50:03
这实际上是一个准缺陷。
istio-1.2的文档错误地说明了1.3中发现的功能。
对于那些遇到类似情况的人,升级到istio 1.3.x应该可以解决这个问题。
https://stackoverflow.com/questions/57496077
复制相似问题