Как я могу отразить трафик в двух местах с Istio? - PullRequest
0 голосов
/ 17 января 2019

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

Как я также могу зеркально отразить трафик до базовой линии, чтобы и базовая линия, и канарейка получали тот же трафик, что и мое производственное развертывание?

...