トラフィック管理

ウェイポイントプロキシがインストールされたので、サービス間でトラフィックを分割する方法を学びます。

サービス間のトラフィックを分割する

Bookinfoアプリケーションには、reviewsサービスの3つのバージョンがあります。これらのバージョン間でトラフィックを分割して、新機能をテストしたり、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からのリクエストには黒い星が付いていることに注意してください。

次のステップ

このセクションで、アンビエントモードの入門ガイドは終了です。引き続き、クリーンアップセクションに進んでIstioを削除するか、アンビエントモードのユーザーガイドに進んでIstioの機能と能力についてさらに学ぶことができます。

この情報は役立ちましたか?
改善のためのご提案はありますか?

フィードバックありがとうございます!