Да, миррор в виртуалсервисе. Я почитал еще раз статью вот эту
https://archive.istio.io/v1.3/docs/tasks/traffic-management/mirroring/ там интересная схема. Service охватывает обе версии приложения. В DestinationRule описаны правила subset и в виртуалсервисе решается кому отправить трафик. Собственно вопрос был в том, обязательно ли делать это через subset. Просто первоначально у меня был только virtualservice в котором не было subset. Вот так было и мирроринг работал только для трафика из вне кубера: apiVersion:
networking.istio.io/v1alpha3kind: VirtualService
metadata:
name: {{ include "service.deploymentName" . }}-internal
spec:
hosts:
- "*"
gateways:
- "grpcistiogateway.default.svc.cluster.local"
http:
- match:
- authority:
prefix: {{ include "service.deploymentName" . }}
route:
- destination:
host: {{ include "service.deploymentName" . }}
port:
number: {{ .Values.port }}
mirror:
host: {{ .Values.mirroring.service }}
> Главное чтобы ендроинты были правильные
А я смогу как-то отследить что проблема в эндпоинтах(tcpdump)? Или только глазами смотреть конфигурацию envoy отправителя трафика?