트래픽 관리하기
트래픽 관리하기 (Manage traffic)
이제 웨이포인트 프록시가 설치되었으니, 서비스 간 트래픽을 분할하는 방법을 배워볼 거예요.
출처: Istio 문서
본문
서비스 간 트래픽 분할하기 (Split traffic between services)
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
100개 요청 중 대략 10%의 트래픽이 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로부터의 요청에는 검은 별이 있는 것을 볼 수 있어요.
다음 단계 (Next steps)
이 섹션으로 Istio 앰비언트 모드의 Getting Started 가이드가 끝나요. Istio를 제거하려면 Cleanup 섹션으로 계속하거나, Istio의 기능과 역량에 대해 더 배우려면 앰비언트 모드 사용자 가이드를 계속 탐색할 수 있어요.