一个虚拟服务可以将请求分散到多个服务吗

时间:2019-05-15 07:50:56

标签: istio

您将有一个请求(例如/ test),并且该请求必须重定向到多个服务 多任务行为

我尝试了以下操作,但是没有用 -路线:    -目的地:        主持人:详细信息        子集:v1    -目的地:        主持人:预览        子集:v1

我有用于匹配测试前缀的代码,并且仅添加了发生实际重定向的部分。

以更简单的方式。我想知道,如何在istio中实现扇出

2 个答案:

答案 0 :(得分:0)

您尚未共享完整的VirtualService清单,但是在类似的情况下,我使用以下配置来通过应用特定的自定义标头来区分对同一前缀路径的HTTP请求:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
    - example
  gateways:
    - example-gateway
  http:
  - match:
    - headers:
        test:
          exact: details
    - uri:
        prefix: /test
    route:
    - destination:
        host: details
        subset: v1
  - match:
    - headers:
        test:
          exact: preview
    - uri:
       prefix: /test
    route:
    - destination:
        host: preview
        subset: v1

当然不要忘记完成适当的DestinationRule's

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: details
spec:
  host: details
  subsets:
  - name: v1
    labels:
      version: v1
---

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: preview
spec:
  host: preview
  subsets:
  - name: v1
    labels:
      version: v1

您可以在Istio官方流量管理documentation中找到更多相关信息。

答案 1 :(得分:0)

尝试在Istio https://istio.io/docs/tasks/traffic-management/mirroring/中使用镜像选项