Керування трафіком
Тепер, коли у нас встановлено проксі 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.