2.7.8.3. ユーザーアイデンティティーに基づくルート
ルート設定を変更して、特定のユーザーからのトラフィックすべてが特定のサービスバージョンにルーティングされるようにします。この場合、jason
という名前のユーザーからのトラフィックはすべて、サービス reviews:v2
にルーティングされます。
Service Mesh には、ユーザーアイデンティティーについての特別な組み込み情報はありません。この例は、productpage
サービスが reviews サービスへのすべてのアウトバウンド HTTP リクエストにカスタム end-user
ヘッダーを追加することで有効にされます。
手順
以下のコマンドを実行して、Bookinfo アプリケーション例でユーザーベースのルーティングを有効にします。
$ oc apply -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.2/samples/bookinfo/networking/virtual-service-reviews-test-v2.yaml
以下のコマンドを実行して、ルールの作成を確認します。このコマンドは、
kind: VirtualService
のすべてのリソースを YAML 形式で返します。$ oc get virtualservice reviews -o yaml
-
Bookinfo アプリケーションの
/productpage
で、パスワードなしでユーザーjason
としてログインします。 - ブラウザーを更新します。各レビューの横に星評価が表示されます。
-
別のユーザーとしてログインします (任意の名前を指定します)。ブラウザーを更新します。これで星がなくなりました。Jason 以外のすべてのユーザーのトラフィックが
reviews:v1
にルーティングされるようになりました。
ユーザーアイデンティティーに基づいてトラフィックをルーティングするように Bookinfo のアプリケーションサンプルが正常に設定されています。