4.4. Kiali チュートリアル

Kiali は Istio と連携してサービスメッシュトポロジーを可視化し、サーキットブレーカー、要求レートなどの機能を見えるようにします。Kiali は、抽象アプリケーションからサービスおよびワークロードまで、さまざまなレベルでのメッシュコンポーネントに関する洞察を提供します。Kiali は、リアルタイムで namespace のインタラクティブなグラフビューを提供します。複数のレベル (アプリケーション、バージョン、ワークロード) での対話と、選択したグラフノードまたはエッジのコンテキスト情報およびチャートを表示できます。

このチュートリアルでは、サービスメッシュと Bookinfo のチュートリアルを使用して、Kiali コンソールでサービスメッシュのトポロジーおよび健全性を表示する方法を示します。

注記

Bookinfo のサンプルアプリケーションでは、OpenShift Container Platform での Red Hat OpenShift Service Mesh 1.1.2 のインストールをテストすることができます。

Red Hat では、Bookinfo アプリケーションをサポートしていません。

4.4.1. Kiali コンソールへのアクセス

Kiali コンソールは、サービスメッシュを可視化し、可観測性をもたらします。Kiali コンソールは、アプリケーションからサービス、ワークロードまで、異なるレベルでのサービスメッシュコンポーネントに関する洞察を提供するさまざまなビューを提供します。また Istio 設定の検証も行うことができます。

前提条件

  • OpenShift Container Platform 4.1 以降がインストールされている。
  • Red Hat OpenShift Service Mesh 1.1.2 がインストールされている。
  • インストール時に Kiali が有効にされている。
  • Bookinfo デモ用アプリケーションがインストールされている。

インストールプロセスにより、Kiali コンソールにアクセスするためのルートが作成されます。

コンソールからの手順

  1. OpenShift Container Platform コンソールで、NetworkingRoutes に移動し、Kiali ルートを検索します。
  2. Location にある URL をクリックします。

    デフォルトのログインストラテジーは openshift です。つまり、OpenShift Container Platform コンソールへのアクセスに使用したものと同じユーザー名とパスワードを使用して、Kiali コンソールに自動的にログインします。初回ログイン時には概要 (Overview) ページが表示されます。ここでは、サービスメッシュに含まれるさまざまな namespace の健全性についての概要を確認できます。

    概要ページ

  3. 左側のナビゲーションを使用するか、namespace アイコンのいずれかをクリックして、アプリケーション、ワークロードまたはサービスを表示します。

CLI からの手順

  1. CLI からこのコマンドを実行して、ルートおよび Kiali URL を取得します。

    $ oc get routes
    NAME                   HOST/PORT                                                PATH      SERVICES               PORT              TERMINATION   WILDCARD
    grafana                grafana-openshift-operators.127.0.0.1.nip.io                          grafana                http                            None
    istio-ingress          istio-ingress-openshift-operators.127.0.0.1.nip.io                    istio-ingress          http                            None
    istio-ingressgateway   istio-ingressgateway-openshift-operators.127.0.0.1.nip.io             istio-ingressgateway   http                            None
    jaeger-query           jaeger-query-openshift-operators.127.0.0.1.nip.io                     jaeger-query           jaeger-query      edge          None
    kiali                  kiali-openshift-operators.127.0.0.1.nip.io                            kiali                  <all>                           None
    prometheus             prometheus-openshift-operators.127.0.0.1.nip.io                       prometheus             http-prometheus                 None
    tracing                tracing-openshift-operators.127.0.0.1.nip.io                          tracing                tracing           edge          None
  2. ブラウザーを起動し、https://<KIALI_URL> に移動します (CLI 出力の例では、これは kiali-openshift-operators.127.0.0.1.nip.io になります)。Kiali コンソールのログイン画面が表示されるはずです。
  3. OpenShift Container Platform コンソールにログインする際に使用するユーザー名およびパスワードを使用して、Kiali コンソールにログインします。

4.4.2. グラフページの使用

グラフページには、要求によってつながれるマイクロサービスのグラフが表示されます。このページでは、アプリケーション、ワークロード、またはサービスが相互に対話する方法を確認することができます。

手順

  1. Kiali コンソールで、左側のナビゲーションにある グラフ をクリックします。

    Kiali グラフ

  2. 必要に応じて、Namespace メニューから bookinfo を選択します。グラフは Bookinfo アプリケーション内のアプリケーションを表示します。
  3. Namespace メニューの疑問符 (?) をクリックすると、Graph ヘルプツアーを利用できます。
  4. Done をクリックして、ヘルプツアーを閉じます。
  5. 左下隅の Legend をクリックします。Kiali は、グラフの凡例を表示します。

    Kiali の Legend

  6. グラフの凡例を閉じます。
  7. productpage ノードにカーソルを合わせます。グラフは、ノードからの送受信トラフィックのみをハイライトすることに注意してください。
  8. productpage ノードをクリックします。ページの右側の詳細が変更され、productpage の詳細が表示されます。

4.4.3. アプリケーションページの使用

アプリケーションページでは、アプリケーション、それらの健全性、その他の詳細情報を検索し、表示できます。

手順

  1. Kiali コンソールで、左側のナビゲーションにある Applications をクリックします。
  2. 必要に応じて、Namespace メニューから bookinfo を選択します。このページには、選択した namespace のアプリケーションとその健全性が表示されます。
  3. その他の健全性の詳細情報を表示するには、健全性 (Health) アイコンにカーソルを合わせます。
  4. reviews サービスをクリックし、そのアプリケーションの詳細を表示します。

    Kiali アプリケーションの詳細

  5. アプリケーションの詳細ページでは、より詳細な健全性情報を表示でき、reviews サービスの 3 つのバージョンについてさらに詳しく見ることができます。
  6. アプリケーションの詳細ページからタブをクリックして、アプリケーションのトラフィックおよびインバウンドとアウトバウンドのメトリクスを表示することもできます。

4.4.4. ワークロードページの使用

ワークロードページでは、ワークロード、それらの健全性、その他の詳細情報を検索し、表示できます。

手順

  1. Kiali コンソールで、左側のナビゲーションにある Workloads をクリックします。
  2. 必要に応じて、Namespace メニューから bookinfo を選択します。このページでは、選択した namespace のワークロード、それらの健全性およびラベルが表示されます。
  3. reviews-v1 ワークロードをクリックし、ワークロードの詳細を表示します。
  4. ワークロードの詳細ページで、ワークロードに関連付けられた Pod とサービスの概要を表示できます。

    Kiali ワークロードの詳細

  5. ワークロードの詳細ページから、タブをクリックしてワークロードのトラフィック、ログ、およびインバウンドおよびアウトバウンドメトリクスを表示することもできます。

4.4.5. サービスページの使用

サービスページでは、サービス、それらの健全性、その他の詳細情報を検索し、表示できます。

手順

  1. Kiali コンソールで、左側のナビゲーションにある Services をクリックします。
  2. 必要に応じて、Namespace メニューから bookinfo を選択します。このページには、選択した namespace で実行されているすべてのサービスの一覧と、ヘルスステータスなどのそのサービスに関する追加情報が表示されます。
  3. サービスに関する健全性の情報を表示するには、いずれかのサービスのヘルスアイコンにカーソルを合わせます。サービスは、オンラインの状態で要求に応答し、エラーがない場合に、正常であるとみなされます。
  4. Reviews サービスをクリックして、詳細情報を表示します。このサービスには 3 つの異なるバージョンがあることに注意してください。

    Kiali サービスの詳細

  5. サービスの詳細ページで、ワークロード、仮想サービス、サービスに関連付けられた宛先ルールの概要を表示できます。
  6. サービスの詳細ページからは、タブをクリックしてサービスのトラフィック、インバウンドメトリクスおよびトレースを表示することもできます。
  7. Actions メニューをクリックします。ここから、以下の操作を実行できます。

    • 重み付けされたルーティングの作成
    • 一致するルーティングの作成
    • トラフィックの一時停止
    • すべてのトラフィックルーティングの削除
  8. サービスの名前を 1 つクリックして、そのサービスの特定バージョンに関する追加情報を表示します。

4.4.6. Istio 設定ページの使用

Istio 設定ページでは、サーキットブレーカー、宛先ルール、フォールト挿入、ゲートウェイ、ルート、ルートルール、仮想サービスなど、現在サービスメッシュに対して実行されているすべての設定を表示できます。

手順

  1. Kiali コンソールで、左側のナビゲーションにある Istio Config をクリックします。
  2. 必要に応じて、Namespace メニューから bookinfo を選択します。このページには、選択した namespace で実行されている設定の一覧と検証のステータスが表示されます。

    Istio 設定

  3. 設定ファイルに関する追加情報を表示するには、以下のいずれかの設定をクリックします。

    Istio 設定 YAML