我有两个服务正在运行,它们通过 grpc 相互通信。
[ Service A ] ------ grpc -----> [ Service B ]
服务 B 通过常规 k8s 入口在 处公开example.com
,这就是服务 A 在看到请求时寻址 B 的方式。
我已经安装了 Istio 控制平面,并在 Service B 上启用了 sidecar 注入。
[ Service A ] ------ grpc -----> [ Istio / Envoy sidecar ]
|
|-> [ Service B ]
现在,我想在不同版本的服务 B 之间拆分流量。我部署了一个虚拟服务和目标规则,两者都使用<service_name>.<namespace>
格式而不是入口端点 ( example.com
) 引用服务 B,因为后者导致“服务未找到” Kiali 中的错误。不过,使用<service_name>.<namespace>
格式似乎可行。
问题是,我在虚拟服务中包含的加权流量拆分规则似乎没有生效。我想知道我是否需要一个入口网关而不是常规的 k8s 入口才能使其工作。如果没有,您还有什么建议让我解决问题?
提前致谢。