Я пытаюсь использовать 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