この文書は自動機械翻訳技術を使用して翻訳されています。 正確な翻訳を提供するように努めておりますが、翻訳された内容の完全性、正確性、信頼性については一切保証いたしません。 相違がある場合は、元の英語版 英語 が優先され、正式なテキストとなります。

トラフィック管理のための Istio コンポーネントを設定します。

Rancher-IstioはRancher v2.12.0以降廃止されました。セキュリティを強化するために、 SUSE Application CollectionのIstioビルドに切り替えてください(SUSE Rancher Primeサブスクリプションに含まれています)。 詳細情報は この発表にあります。

Istio におけるトラフィック管理の中心的な利点は、動的リクエストルーティングを可能にすることです。動的リクエストルーティングの一般的な用途には、カナリアデプロイメントやブルー/グリーンデプロイメントが含まれます。Istio のトラフィック管理における二つの重要なリソースは、_仮想サービス_と_宛先ルール_です。

  • 仮想サービスはトラフィックをインターセプトし、Kubernetes サービスに向けて指示を出し、リクエストから異なるサービスへトラフィックの割合を分割できるようにします。ホストが指定されたときに適用するルーティングルールのセットを定義するために使用できます。

  • 宛先ルールは、仮想サービスからトラフィックを受け取れるサービスのバージョンに関する一元的な情報源として機能します。これらのリソースを使用して、ルーティングが行われた後にサービスに向けられたトラフィックに適用されるポリシーを定義できます。

このセクションでは、サンプル BookInfo アプリの reviews マイクロサービスに対応する仮想サービスの例を追加する方法について説明します。このサービスの目的は、reviews サービスの二つのバージョン間でトラフィックを分割することです。

この例では、reviews サービスへのトラフィックをインターセプトし、その50%を`v1`サービスに、残り50%を`v2`に振り分けます。

この仮想サービスがデプロイメントされた後、トラフィックを生成し、Kiali ビジュアライゼーションからトラフィックが二つのサービスのバージョン間で均等にルーティングされていることを確認します。

reviews サービスの仮想サービスと宛先ルールをデプロイするために、

  1. *☰ > クラスター管理*をクリックします。

  2. Istio がインストールされているクラスターに移動し、*Explore*をクリックします。

  3. Istio がインストールされているクラスターで、左側のナビゲーションバーから menu:Istio[宛先ルール] をクリックします。

  4. 作成]をクリックします。

  5. 以下に提供された DestinationRule の yaml をコピーして貼り付けます。

  6. 作成]をクリックします。

  7. Edit as YAML をクリックし、この設定を使用します:

     apiVersion: networking.istio.io/v1alpha3
     kind: DestinationRule
     metadata:
       name: reviews
     spec:
       host: reviews
       subsets:
       - name: v1
         labels:
           version: v1
       - name: v2
         labels:
           version: v2
       - name: v3
         labels:
           version: v3
  8. 作成]をクリックします。

次に、DestinationRule を利用したトラフィックルーティングを提供する仮想サービスをデプロイします:

  1. サイドナビゲーションバーで 仮想サービス をクリックします。

  2. Create from Yaml をクリックします。

  3. 以下に提供された仮想サービスの yaml をコピーして貼り付けてください。

  4. 作成]をクリックします。

apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: reviews
spec:
  hosts:
  - reviews
  http:
  - route:
    - destination:
        host: reviews
        subset: v1
      weight: 50
    - destination:
        host: reviews
        subset: v3
      weight: 50
---

*結果:*このサービスにトラフィックを生成すると(例えば、ingress ゲートウェイの URL を更新することによって)、Kiali のトラフィックグラフは reviews サービスへのトラフィックが v1v3 の間で均等に分配されることを反映します。