Istio での HTTP トラフィックの記録

特記事項: このリリースでは、テクニカル・プレビュー機能として、Rational® Test Automation Server で Istio の HTTP トラフィックを記録する機能を Rational® Integration Tester から利用することができます。 このテクニカル・プレビューは、Rational® Test Automation Server で提供する仮想化されたサービスをお客様に見てもらい、製品チームがフィードバックを取得することを目的としています。 この情報は、評価を行う目的にのみ使用することができ、実稼働環境では使用できません。 IBM は、この情報に関していかなるサポート義務も負わず、特定物として現存するままの状態で提供し、いかなる保証も提供しません。

デモ構成でインストールされる Rational® Test Automation Server と組み合わせることで、Istio サービス・メッシュにデプロイされたサービスで送受信される HTTP 要求および応答を記録できます。

Rational Test Automation Server で以下のタスクを完了しておく必要があります。
  • Rational Test Automation Server をデモ構成でインストールします。 サーバーの資料で、Rational Test Automation Server のインストールに関するトピックを参照してください。
  • Rational Test Automation Server と同じ Kubernetes クラスターで、サンプル Bookinfo アプリケーションを bookinfo という名前の名前空間にインストールします。
    Note: この例のタスクでは、Bookinfo アプリケーションはゲートウェイ URL http://www.rtas-bookinfo.com を使用します。
  • クラスター役割 rockstar-execution-istio-test-systemRational Test Automation Server 実行サービス・アカウント test-system:rockstar-execution の間に Kubernetes 役割バインディングを作成します。 この役割バインディングによって、Rational Test Automation Server が、bookinfo 名前空間にある必要な Kubernetes リソースを管理することを許可されるので、Istio を経由する HTTP トラフィックを記録できるようになります。
Rational Integration Tester で以下のタスクを完了しておく必要があります。
  • Rational Integration TesterRational Test Automation Server にアクセスできるように、Rational Test Automation Server で生成したユーザーのオフライン・トークンを、 Rational Integration Tester の「サーバー設定」タブに構成します。 Rational Test Automation Serverへのアクセスを参照してください。

サンプルの Bookinfo アプリケーションは、Istio のさまざまな機能を示すための Istio 提供のデモ・アプリケーションです。 このタスクでは、まず、reviews マイクロサービスが受信する、サービスからサービスへの要求を記録します。次に、productpage マイクロサービスへの Ingress 要求 (ブラウザーからの要求のように、クラスターの外部から発行される要求) を記録します。 その後、記録されたそれらのメッセージを使用してスタブを作成し、そのスタブを Rational Test Automation Server で実行することで、実際のサービスを仮想化できます。

  1. 「論理ビュー」で HTTP 接続を作成します。

    名前フィールドには reviews と入力する必要があります。 論理 HTTP 接続リソースが作成され、同じく reviews という名前の物理 Web サーバー・リソースが作成され、現在の環境でバインドされます。

  2. 論理 HTTP 接続を右クリックし、「物理リソース」を選択して、物理 Web サーバー・リソースを開きます。

    「Web サーバー」ダイアログが表示されます。

  3. 「ホスト」フィールドに、サービスの名前を reviews と入力します。

    サービスのホスト名は、サービスが含まれている名前空間で解決されるため、サービスの別名を入力できます。 例えば、reviews.bookinforeviews.bookinfo.svcreviews.bookinfo.svc.cluster.local などです。

  4. 「ポート」フィールドに、ポートとして 9080 を入力します。
    Restriction: 「設定」タブで構成された Web サーバーが Kubernetes クラスター内のサービスであり、構成済みのホストとポートでは Rational Integration Tester に到達できないため、Kubernetes サービスに対する「トランスポートのテスト」アクションはサポートされていません。
  5. 「記録」タブをクリックし、「Istio」オプションを選択します。

    Rational Integration Tester は、このトランスポートを記録するときに Istio を使用するようにレコーディング・スタジオに指示します。 これで、このトランスポートは、BookInfo アプリケーションの reviews サービスに送信される HTTP 要求/応答を記録するために使用できる状態になりました。

  6. 「レコーディング・スタジオ」パースペクティブに切り替え、「モニターの追加」ボタンをクリックします。

    リソース選択ダイアログが表示されます。

  7. reviews サービス用の論理 HTTP 接続を選択します。
  8. 「記録」ボタンをクリックして記録を開始します。
  9. ブラウザーを開き、URL http://www.rtas-bookinfo.com/productpage を開きます。

レコーディング・スタジオで要求と応答を表示できます。