如何使用istio跨名称空间镜像流量?



我正在尝试将流量镜像到不同名称空间中相同服务的两个副本。我可以通过在默认名称空间中运行的pod卷曲它们的FQDN来访问这两个服务,但是当我应用以下虚拟服务时,没有任何镜像。我做错了什么?

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: testservice-virtual-service
spec:
hosts:
- testservice.default.svc.cluster.local
gateways:
- istio-system/my-gateway
http:
- route:
- destination:
host: testservice.default.svc.cluster.local
weight: 100
mirror:
host: testservice.staging.svc.cluster.local
mirrorPercentage:
value: 100.0

编辑-我已经尝试使用FQDN从默认命名空间添加服务到hosts字段,以及使用FQDN添加默认和登台命名空间服务,但仍然没有看到任何流量镜像到登台服务。

我已经发布了社区维基的答案,以提高可见度。

正如OP在评论中提到的,问题解决了:

我做了一些非常愚蠢的事情,没有在默认命名空间中启用istio。

我在执行istio官方文档时遇到了类似的问题。我通过为主机

添加端口来解决这个问题
mirror:
host: <service_name>.<namespace>.svc.cluster.local
port: 80
mirrorPercentage:
value: 100