Маршрутизация на основе версии Istio 404 - PullRequest
1 голос
/ 11 апреля 2019

Я пытаюсь использовать istio для маршрутизации между микросервисами в моем кластере k8s.

В этом примере у меня есть следующие приложения

frontend: v1, которым необходимо связаться с backend: v1frontend: v2, которому необходимо связаться с backend: v2

Я создал необходимые конфигурации istio и получил ответ без параметров маршрутизации, но когда я пытаюсь настроить правила маршрутизации так, чтобы трафик с метками app = frontend и version= v1 направляются в подмножество v1 бэкэнда, я получаю сообщение об ошибке 404.

Вот пример моего текущего VirtualService:

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: backend-vs
spec:
  hosts:
   - "backend.backend.svc.cluster.local"
  http:
  - match:
    - sourceLabels:
        app: frontend
        version: v1
    route:
    - destination:
      host: backend.backend.svc.cluster.local
      subset: v1
      port:
        number: 5000

В конце концов я хочу иметь возможность контролировать, какие версиииз внешнего интерфейса перейдите к версионному подмножеству на бэкенде и выполните итерации этих микроуслуг независимо друг от друга.

В настоящее время istio возвращает ошибку 404.

Если я удаляю соответствие sourceLabels, я могу получить доступ к бэкэнд-службе изстручки интерфейса.

TIA

1 Ответ

1 голос
/ 11 апреля 2019

Мне удалось только заставить этот маршрут работать с sourceLabels: критериями соответствия, адаптировав сервис к Pod внешнего интерфейса и добавив соответствующую метку в моей тестовой среде в аналогичном сценарии;К настоящему времени известна проблема # 7787 .

...