Как я могу отразить трафик в двух местах с Istio?
В рамках моего конвейера непрерывного развертывания я развернул канарейку и базовый уровень, сравнил показатели обоих и проанализировал результаты, чтобы решить, следует ли продвигать канарейку в производство. Чтобы улучшить собранные метрики, я хочу использовать Istio для зеркалирования производственного трафика как для канареечного, так и для базового развертывания.
Для этого у меня есть следующее правило виртуальной службы и назначения, которое отражает трафик для моего канареечного развертывания:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: goldengoose
namespace: goldengoose
spec:
hosts:
- "*"
gateways:
- goldengoose
http:
- route:
- destination:
port:
number: 80
host: goldengoose
subset: prod
mirror:
host: goldengoose
subset: canary
---
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: goldengoose
namespace: goldengoose
spec:
host: goldengoose
subsets:
- name: prod
labels:
track: prod
- name: baseline
labels:
track: baseline
- name: canary
labels:
track: canary
Как я также могу зеркально отразить трафик до базовой линии, чтобы и базовая линия, и канарейка получали тот же трафик, что и мое производственное развертывание?