我正在尝试在 kubernetes 集群中设置两个服务的路由,并且我想做一个具有特定权重的 2 个不同服务的金丝雀版本。例如:如果到达 /endpoint1,那么它将 50% 的流量路由到 service1,另外 50% 我想重写,然后路由到 service2。如果我尝试这个虚拟服务
http:
- match:
uri:
exact: /path1
rewrite:
uri: /path1modified
route:
- destination:
host: service1host
weigh: 50
- destination:
host: service2host
weigh: 50
它将重写然后使用 path1modified 路由。所以我需要这样的东西
http:
- match:
uri:
exact: /path1
route:
- destination:
host: service1host
weigh: 50
- destination:
host: service2host
weigh: 50
rewrite:
uri: /path1modified
如果这是可能的,我很好奇。非常感谢。
更新 谢谢大家给出的答案,最终我找到了一种方法,基本上我有一个webapp(它使用了path1)并且我有一个服务(它在后端使用了modifiedPath1,但它需要在浏览器中使用path1,使用rewrite),我想要权衡这 2 之间的流量。我尝试使用虚拟服务,但我无法找到一种方法来包含两条路径。我的解决方案是添加一个流量管理器,它将加权流量发送到 webapp 和我的服务,然后对于 webapp,让端点保持原样,对于服务,如果匹配 uri 精确 /path1,然后重写为 modifiedPath1。