트래픽 관리하기

트래픽 관리하기 (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의 기능과 역량에 대해 더 배우려면 앰비언트 모드 사용자 가이드를 계속 탐색할 수 있어요.

더 알아보기 (Learn more)