第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. Kiali と Istio のアンビエントモードについて リンクのコピーリンクがクリップボードにコピーされました!
Istio アンビエントモードで実行する場合、Kiali は Ambient データプレーンをサポートするための新しい動作と視覚化を導入します。次の情報は、この文脈における Kiali の重要な点を説明しています。
- アクセス要件
-
Kiali は、アンビエントモードが有効になっているかどうかを検出するために、
ztunnelnamespace へのアクセスを必要とします。このアクセスがないと、Kiali はアンビエント関連の機能を表示しません。 - 視覚化と機能
- アンビエントバッジを使用すると、Kiali はアンビエントメッシュに登録されている namespace とワークロードのバッジを表示し、すばやく識別できるようにします。
- トラフィックグラフの調整
アンビエントモードでは、新しいテレメトリーソースが導入されます。Kiali は、ztunnel と waypoint プロキシーの両方からメトリクスを収集して表示し、メッシュトラフィックを完全に可視化します。Kiali の新しいフィルターとセレクターを使用すると、ユーザーは環境固有のトラフィックソースに集中できます。Kiali は、トラフィックグラフ内の waypoint ノードを視覚化するための表示オプションを提供します。
トラフィックグラフは周囲の登録に基づいて変化します。
- waypoint プロキシーがない場合、トラフィックグラフには Layer 4 (L4) トラフィックのみが表示されます。
- waypoint プロキシーの場合、グラフには Layer 7 (L7) トラフィックが含まれ、L4 トラフィックも含まれる場合があります。
- ワークロードプロキシーログ
- Kiali は、ztunnel と waypoint プロキシーの両方からのログを集約してフィルタリングします。この統合ビューでは、各ワークロードに関連するログエントリーのみが表示されるため、トラブルシューティングが簡素化されます。
- 分散トレーシング
- トレースは waypoint サービスによって生成されるため、トレースデータは waypoint プロキシーがデプロイされている場合にのみ使用できます。Kiali は、ワークロードトレースを、関連付けられている waypoint プロキシーと自動的に相関させます。
- アンビエントコンポーネント専用ページ
専用ページを使用すると、ユーザーはワークロードやサービスとは別にアンビエントコンポーネントを分析できます。
- waypoint ページには、キャプチャーされたワークロードに関する詳細情報が表示されます。
-
Ztunnel ページは、
istioctlユーティリティーのデータに基づいて、テレメトリー、メトリクス、および診断に重点を置いています。
Kiali とアンビエントモードを統合することで、アンビエントメッシュで実行されているワークロードの完全な可観測性が確保され、運用監視およびトラブルシューティングタスクが簡素化されます。
4.1.3. 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.4. Kiali を使用した OpenShift モニタリングの設定 リンクのコピーリンクがクリップボードにコピーされました!
次の手順は、Red Hat が提供する Kiali Operator をユーザーワークロード監視と統合する方法を示しています。
前提条件
- Red Hat OpenShift Service Mesh がインストールされている。
- ユーザーのワークロードの監視が有効になっている。ユーザー定義プロジェクトのモニタリングの有効化 を参照してください。
- OpenShift Monitoring が Service Mesh で設定されている。「サービスメッシュを使用した OpenShift Monitoring の設定」を参照してください。
- Red Hat 2.4 が提供する Kiali Operator がインストールされている。
手順
Kiali の
ClusterRoleBindingリソースを作成します。ClusterRoleBindingの設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kiali リソースを作成し、それを Istio インスタンスにポイントします。
Kiali リソース設定の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow Kiali リソースの準備ができたら、以下のコマンドを実行してルートから Kiali URL を取得します。
echo "https://$(oc get routes -n istio-system kiali -o jsonpath='{.spec.host}')"$ echo "https://$(oc get routes -n istio-system kiali -o jsonpath='{.spec.host}')"Copy to Clipboard Copied! Toggle word wrap Toggle overflow - URL に従い、Web ブラウザーで Kiali を開きます。
- Kiali UI でトラフィックを確認するには、Traffic Graph タブに移動します。
4.1.5. Red Hat OpenShift 分散トレースプラットフォームと Red Hat が提供する Kiali Operator の統合 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat OpenShift 分散トレーシングプラットフォームを Red Hat が提供する Kiali Operator と統合すると、次の機能が有効になります。
- トレースオーバーレイとグラフの詳細を表示します。
- 詳細ページに散布図チャートと詳細なトレース/スパン情報を表示します。
- ログとメトリクスチャートにスパン情報を統合します。
- 外部トレース UI へのリンクを提供します。
4.1.5.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の設定例Copy to Clipboard Copied! Toggle word wrap Toggle overflow - 1
- トレーシングを有効にするかどうかを指定します。
- 2
- 分散トレーシングプラットフォーム (Tempo) または分散トレーシングプラットフォーム (Jaeger) のいずれかを指定します。分散トレーシングプラットフォームは Jaeger API または Tempo API を公開できます。
- 3
- Tempo API の内部 URL を指定します。分散トレーシングプラットフォームをマルチテナントでデプロイする場合は、
internal_urlパラメーターの URL パスにテナント名を含めます。この例では、defaultがテナント名を表しています。 - 4
- Jaeger UI の OpenShift ルートを指定します。分散トレーシングプラットフォームをマルチテナントでデプロイすると、ゲートウェイによってルートが作成されます。それ以外の場合は、
Temponamespace にルートを作成する必要があります。tempo-sample-query-frontendサービスのルートを手動で作成するか、.spec.template.queryFrontend.jaegerQuery.ingress.type: routeを使用してTempoカスタムリソースを更新することができます。 - 5
- ヘルスチェック URL を指定します。デフォルトでは必要ありません。分散トレーシングプラットフォームをマルチテナントでデプロイすると、デフォルトのヘルスチェック URL は公開されません。これは有効なヘルス URL の例です。
- 6
- アクセス URL が
HTTPSであるか認証が必要な場合に使用する設定を指定します。デフォルトでは必要ありません。 - 7
- デフォルトで
grafanaとなる設定を指定します。デフォルトでは必要ありません。KialiView in tracingリンクが、Jaeger コンソール UI にリダイレクトされる場合は、jaegerに変更します。
-
更新された
specをkiali_cr.yamlに保存します。 設定を適用するには、次のコマンドを実行します。
oc patch -n istio-system kiali kiali --type merge -p "$(cat kiali_cr.yaml)"
$ oc patch -n istio-system kiali kiali --type merge -p "$(cat kiali_cr.yaml)"Copy to Clipboard Copied! Toggle word wrap Toggle overflow 出力例:
kiali.kiali.io/kiali patched
kiali.kiali.io/kiali patchedCopy to Clipboard Copied! Toggle word wrap Toggle overflow
検証
以下のコマンドを実行して Kiali ルートを取得します。
oc get route kiali ns istio-system
$ oc get route kiali ns istio-systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow - Kiali UI に移動します。
-
Workload
Traces タブに移動し、Kiali UI でトレースを確認します。