У нас есть два микросервиса A и B. A вызывает B через побочный автомобиль istio-proxy.
Мы создали виртуальный сервис. См. Ниже yaml
После создания виртуальной службы, когда мы проверяем маршруты в модуле A с помощью этой команды istioctl proxy-config routes a-75768cc7bc-ghzsr -o json
, мы НЕ видим взвешенные маршруты
Если мы заменим tls на http, добавляются взвешенные маршруты. Можем ли мы использовать взвешенные маршруты с tls?
apiVersion: networking.istio.io/v1beta1
kind: VirtualService
metadata:
name: b
namespace: default
spec:
hosts:
- b
tls:
- match:
- port: 443
route:
- destination:
host: b
subset: v1
weight: 50
- destination:
host: b
subset: v2
weight: 50
Добавление определения службы
apiVersion: v1
kind: Service
metadata:
labels:
svc: b
name: b
namespace: default
spec:
clusterIP: x.x.x.x
ports:
- name: https-b
port: 443
protocol: TCP
targetPort: 8080
selector:
svc: b
sessionAffinity: None
type: ClusterIP
status:
loadBalancer: {}
Правило добавления пункта назначения,
apiVersion: networking.istio.io/v1beta1
kind: DestinationRule
metadata:
name: b
namespace: default
spec:
host: b
subsets:
- labels:
version: v1
name: v1
- labels:
version: v2
name: v2