Використання функцій 7-го рівня

Додавши waypoint-проксі до потоку вашого трафіку, ви можете увімкнути більше функцій Istio. Waypoints налаштовуються за допомогою Kubernetes Gateway API.

Прив’язка маршрутів та політик

Gateway API визначає взаємозв’язок між об’єктами (такими як маршрути та шлюзи) через прив’язку.

  • Обʼєкти маршруту (такі як HTTPRoute) включають спосіб посилання на батьківські ресурси, до яких вони хочуть підʼєднатисяя.
  • Об’єкти політик вважаються метаресурсами: об’єкти, які розширюють поведінку цільового об’єкта стандартним способом.

У таблицях нижче показано тип прив’язки, який налаштований для кожного обʼєкта.

Маршрутизація трафіку

За наявності розгорнутої waypoint-проксі ви можете використовувати такі типи маршрутів:

НазваСтатус функціїПривʼязка
HTTPRouteБетаparentRefs
TLSRouteАльфаparentRefs
TCPRouteАльфаparentRefs

Перегляньте документацію з керування трафіком, щоб ознайомитись з діапазоном функцій, які можна реалізувати за допомогою цих маршрутів.

Безпека

Без встановленого waypoint ви можете використовувати лише політики безпеки рівня 4. Додавши waypoint, ви отримаєте доступ до наступних політик:

НазваСтатус функціїПривʼязка
AuthorizationPolicy (включаючи функції L7)БетаtargetRefs
RequestAuthenticationБетаtargetRefs

Розгляд політик авторизації

У режимі ambient, політики авторизації можуть бути або націлені (для забезпечення ztunnel), або прикріплені (для забезпечення waypoint). Щоб політика авторизації була прикріплена до waypoint, вона повинна мати targetRef, який посилається на waypoint або на Service, що використовує цей waypoint.

Ztunnel не може забезпечувати політики L7. Якщо політика з правилами, що відповідають атрибутам L7, буде націлена за допомогою селектора робочого навантаження (а не прикріплена за допомогою targetRef), так що вона забезпечується ztunnel, вона стане політикою DENY через збій у безпеці.

Дивіться керівництво з політики L4 для отримання додаткової інформації, включаючи коли прикріпляти політики до Service для випадків використання тільки TCP.

Спостережуваність

Повний набір метрик трафіку Istio експортується waypoint-проксі.

Розширення

Оскільки waypoint-проксі є розгортанням Envoy, механізми розширення, доступні для Envoy у режимі sidecar, також доступні для waypoint-проксі.

НазваСтатус функціїПривʼязка
WasmPluginАльфаtargetRefs
EnvoyFilterАльфаtargetRefs

Детальніше про те, як розширити waypoint за допомогою WebAssembly втулків.

Конфігурації розширень вважаються політикою за визначенням Gateway API.

Сфера дії маршрутів або політик

Маршрут або політика можуть бути обмежені для застосування до всього трафіку, що проходить через waypoint-проксі, або лише до конкретних сервісів.

Прикріплення до всього waypoint-проксі

Щоб прикріпити маршрут або політику до всього waypoint — так, щоб він застосовувався до всього трафіку, зареєстрованого для його використання, — встановіть значення Gateway як parentRefs або targetRefs, залежно від типу.

Щоб обмежити політику AuthorizationPolicy для застосування до waypoint з назвою default у просторі імен default:

apiVersion: security.istio.io/v1
kind: AuthorizationPolicy
metadata:
  name: view-only
  namespace: default
spec:
  targetRefs:
  - kind: Gateway
    group: gateway.networking.k8s.io
    name: default
  action: ALLOW
  rules:
  - from:
    - source:
        namespaces: ["default", "istio-system"]
    to:
    - operation:
        methods: ["GET"]

Прикріплення до конкретного сервісу

Ви також можете прикріпити маршрут до одного або кількох конкретних сервісів у межах waypoint. Встановіть значення Service як parentRefs або targetRefs, залежно від ситуації.

Щоб застосувати маршрут reviews HTTPRoute до сервісу reviews у просторі імен default:

apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: reviews
  namespace: default
spec:
  parentRefs:
  - group: ""
    kind: Service
    name: reviews
    port: 9080
  rules:
  - backendRefs:
    - name: reviews-v1
      port: 9080
      weight: 90
    - name: reviews-v2
      port: 9080
      weight: 10
Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

Дякуємо за ваш відгук!