В рамках моего конвейера непрерывного развертывания я развертываю канарейку и базовый уровень, сравниваю метрики из обоих и анализирую результаты, чтобы решить, следует ли продвигать канарейку в производство.Чтобы улучшить собранные метрики, я хочу использовать 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
Как я также могу зеркально отразить трафик до базовой линии, чтобы и базовая линия, и канарейка получали тот же трафик, что и мое производственное развертывание?