Какой из них вызывается первым виртуальным сервисом или правилом назначения? - PullRequest
1 голос
/ 20 января 2020

У меня путаница между Виртуальной службой и Destinationrule, на которой она выполняется первой? Допустим, у меня есть следующие конфиги:

Destinationrule -

apiVersion: networking.istio.io/v1alpha3
kind: DestinationRule
metadata:
  name: movies
  namespace: aio
spec:
  host: movies
  subsets:
  - labels:
      version: v1
    name: version-v1
  - labels:
      version: v2
    name: version-v2
---

VirtualService

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: movies
  namespace: aio
spec:
  hosts:
  - movies
  http:
  - route:
    - destination:
        host: movies
        subset: version-v1
      weight: 10
    - destination:
        host: movies
        subset: version-v2
      weight: 90
---

Я где-то читал, что VirtualService определяет набор трафика c правила маршрутизации , применяемые при обращении к хосту. DestinationRule определяет политики, которые применяются к traffi c, предназначенному для службы после того, как произошла маршрутизация. Означает ли это, что Destinationrule вызываются после Virtualservices?

У меня есть небольшая диаграмма, верно ли мое понимание?

enter image description here

1 Ответ

1 голос
/ 20 января 2020

Да,

Согласно istio документации о DestinationRule:

DestinationRule определяет политики, которые применяются к трафику c, предназначенному для службы после произошла маршрутизация.

И для VirtualService:

VirtualService определяет набор правил маршрутизации traffi c, которые применяются при хост адресован.

Есть видео на YouTube: Жизнь пакета через Istio подробно объясняет порядок процессов, которые применяются к пакету, проходящему через историю. sh.

...