【发布时间】:2019-05-15 07:50:55
【问题描述】:
您将请求(例如 /test ),并且该请求必须重定向到多个服务 一种多任务行为
我试过下面的东西,但没有用 - 路线: - 目的地: 主持人:详情 子集:v1 - 目的地: 主持人:预览 子集:v1
我有匹配测试前缀的代码,并且只添加了实际重定向发生的部分。
以更简单的方式。我想知道,如何在istio中实现扇出
【问题讨论】:
标签: istio
您将请求(例如 /test ),并且该请求必须重定向到多个服务 一种多任务行为
我试过下面的东西,但没有用 - 路线: - 目的地: 主持人:详情 子集:v1 - 目的地: 主持人:预览 子集:v1
我有匹配测试前缀的代码,并且只添加了实际重定向发生的部分。
以更简单的方式。我想知道,如何在istio中实现扇出
【问题讨论】:
标签: istio
您尚未共享完整的 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 中找到更多相关信息。
【讨论】:
VirtualService 应该为每个主机定义一个。
尝试在 Istio 中使用镜像选项https://istio.io/docs/tasks/traffic-management/mirroring/
【讨论】: