第4章 Red Hat が提供する Kiali Operator
4.1. Red Hat 提供の Kiali Operator の使用
アプリケーションをメッシュに追加したら、Red Hat が提供する Kiali Operator を使用して、アプリケーションを通るデータフローを表示できます。
4.1.1. Kiali について
Red Hat 提供の Kiali Operator を使用すると、単一のコンソールでの設定表示、トラフィックの監視、トレースの分析が可能になります。これはオープンソースの Kiali プロジェクトに基づいています。
Red Hat が提供する Kiali Operator は、Red Hat OpenShift Service Mesh の管理コンソールです。ダッシュボード、可観測性、および堅牢な設定、ならびに検証機能を提供します。これは、トラフィックトポロジーを推測して Service Mesh の構造を示し、メッシュの正常性を表示します。Kiali は、詳細なメトリクス、強力な検証、Grafana へのアクセス、Red Hat OpenShift 分散トレーシングプラットフォーム (Tempo) とシームレスに統合できます。
4.1.2. Red Hat が提供する Kiali Operator のインストール
以下の手順では、Red Hat が提供する Kiali Operator をインストールする方法を説明します。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティーバージョンはサポートされていません。
前提条件
- Red Hat OpenShift Service Mesh Web コンソールにアクセスできる。
手順
- Red Hat OpenShift Service Mesh Web コンソールにログインします。
-
Operators
OperatorHub に移動します。 - フィルターボックスに Kiali と入力して、Red Hat が提供する Kiali Operator を検索します。
- Red Hat が提供する Kiali Operator をクリックし、Operator に関する情報を表示します。
- Install をクリックします。
- Operator Installation ページで、stable 更新チャネルを選択します。
-
All namespaces on the cluster(default) を選択します。これにより、Operator がデフォルトの
openshift-operators
プロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Install をクリックします。
- Installed Operators ページには、Kiali Operator のインストールの進捗状況が表示されます。
4.1.3. Kiali を使用した OpenShift モニタリングの設定
次の手順は、Red Hat が提供する Kiali Operator をユーザーワークロード監視と統合する方法を示しています。
前提条件
- Red Hat OpenShift Service Mesh がインストールされている。
- ユーザーのワークロードの監視が有効になっている。ユーザー定義プロジェクトのモニタリングの有効化 を参照してください。
- OpenShift Monitoring が Service Mesh で設定されている。「サービスメッシュを使用した OpenShift Monitoring の設定」を参照してください。
- Red Hat が提供する Kiali Operator 1.89 がインストールされている。
手順
Kiali の
ClusterRoleBinding
リソースを作成します。ClusterRoleBinding
の設定例apiVersion: rbac.authorization.k8s.io/v1 kind: ClusterRoleBinding metadata: name: kiali-monitoring-rbac roleRef: apiGroup: rbac.authorization.k8s.io kind: ClusterRole name: cluster-monitoring-view subjects: - kind: ServiceAccount name: kiali-service-account namespace: istio-system
Kiali リソースを作成し、それを Istio インスタンスにポイントします。
Kiali リソース設定の例
apiVersion: kiali.io/v1alpha1 kind: Kiali metadata: name: kiali-user-workload-monitoring namespace: istio-system spec: external_services: prometheus: auth: type: bearer use_kiali_token: true thanos_proxy: enabled: true url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
Kiali リソースの準備ができたら、以下のコマンドを実行してルートから Kiali URL を取得します。
$ echo "https://$(oc get routes -n istio-system kiali -o jsonpath='{.spec.host}')"
- URL に従い、Web ブラウザーで Kiali を開きます。
4.1.4. Red Hat OpenShift 分散トレースプラットフォームと Red Hat が提供する Kiali Operator の統合
Red Hat OpenShift 分散トレーシングプラットフォームを Red Hat が提供する Kiali Operator と統合すると、次の機能が有効になります。
- トレースオーバーレイとグラフの詳細を表示します。
- 詳細ページに散布図チャートと詳細なトレース/スパン情報を表示します。
- ログとメトリックチャートにスパン情報を統合します。
- 外部トレース UI へのリンクを提供します。
4.1.4.1. Red Hat が提供する Kiali Operator を使用した Red Hat OpenShift 分散トレーシングプラットフォームの設定
Red Hat が提供する Kiali Operator を Red Hat OpenShift 分散トレーシングプラットフォームと統合すると、Kiali コンソールで分散トレースを表示できるようになります。これらのトレースを表示すると、サービスメッシュ内のサービス間の通信に関するインサイトが得られ、リクエストがシステム内をどのように流れているか、発生する可能性のある問題はなにかを理解するのに役立ちます。
前提条件
- Red Hat OpenShift Service Mesh をインストールしている。
- 分散トレースプラットフォームを Red Hat OpenShift Service Mesh で設定している。
手順
トレース用に
Kiali
リソースspec
設定を更新します。トレース用の
Kiali
リソース仕様
の設定例spec: external_services: tracing: enabled: true 1 provider: tempo use_grpc: false in_cluster_url: http://tempo-sample-query-frontend.tempo:3200 url: https://tempo-sample-query-frontend-tempo.apps-crc.testing 2
-
更新された
spec
をkiali_cr.yaml
に保存します。 設定を適用するには、次のコマンドを実行します。
$ oc patch -n istio-system kiali kiali --type merge -p "$(cat kiali_cr.yaml)"
出力例:
kiali.kiali.io/kiali patched
検証
以下のコマンドを実行して Kiali ルートを取得します。
$ oc get route kiali ns istio-system
- Kiali UI に移動します。
-
Workload
Traces タブに移動し、Kiali UI でトレースを確認します。