Керування трафіком

Тепер, коли у нас встановлено проксі waypoint, ми дізнаємось як розподіляти трафік між сервісами.

Розподіл трафіку між сервісами

Застосунок Bookinfo має три версії сервісу reviews. Ви можете розподілити трафік між цими версіями, щоб перевірити нові функції або провести A/B тестування.

Налаштуємо маршрутизацію трафіку, щоб 90% запитів надсилалися до reviews v1, а 10% — до reviews v2:

$ kubectl apply -f - <<EOF
apiVersion: gateway.networking.k8s.io/v1
kind: HTTPRoute
metadata:
  name: reviews
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
EOF

Щоб підтвердити, що приблизно 10% зі 100 запитів йдуть до reviews-v2, ви можете виконати наступну команду:

$ kubectl exec deploy/curl -- sh -c "for i in \$(seq 1 100); do curl -s http://productpage:9080/productpage | grep reviews-v.-; done"

Ви помітите, що більшість запитів надходять до reviews-v1. Ви можете підтвердити те ж саме, відкривши застосунок Bookinfo у вашому оглядачі та кілька разів оновивши сторінку. Зверніть увагу, що запити від reviews-v1 не мають зірок, тоді як запити від reviews-v2 мають чорні зірки.

Подальші кроки

Ця секція завершує посібник по початку роботи з ambient mode в Istio. Ви можете перейти до розділу Очищення, щоб видалити Istio, або продовжити дослідження посібників користувача ambient mode, щоб дізнатися більше про функції та можливості Istio.

Чи була ця інформація корисною?
Чи є у вас пропозиції щодо покращення?

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