Возможен ли внутренний трафик ISTIO c маршрутизация на разные версии, даже если я использую пользовательские шлюзы? (Azure Шлюз приложения). Ниже мой случай использования. У меня есть две разные версии развертываний (Kubernetes) с метками app:myapp
& version: v1
и version: v2
[метка v1 для одного развертывания и метка v2 для другого]. Трафик c в настоящее время равномерно распределен между этими двумя, и то же самое можно увидеть на панели инструментов kiali. Я хочу направить трафик c только на v2
. Ниже приведены мои виртуальные правила обслуживания и назначения.
ВИРТУАЛЬНАЯ СЛУЖБА:
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
name: myvirtualservice
namespace: mynamespace # Use same namespace with backend service
spec:
hosts:
- myservice.namespace.svc.cluster.local
ingress:
- appgw # define ingress name
http:
- match:
- uri:
prefix: "/"
route:
- destination:
port:
number: 80 # Backend service port
host: myservice.namespace.svc.cluster.local # Backend service name
subset: v2
ПРАВИЛА НАЗНАЧЕНИЯ:
apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
name: mydestrule
spec:
host: myservice.namespace.svc.cluster.local
subsets:
- name: v2
labels:
version: v2
В данный момент на панели инструментов kiali тоже моя azure входной шлюз отображается как «неизвестный» ресурс.