5.5. マルチクラスターメッシュに Kiali をインストールする


2 つの OpenShift Container Platform クラスター上のマルチクラスターメッシュ設定で Kiali をインストールします。

注記

この手順では、CLUSTER1 は East クラスター、CLUSTER2 は West クラスターです。

これらの手順は、2 つ以上のクラスターにまたがるメッシュに適応できます。

前提条件

  • 各クラスターに最新の Kiali Operator をインストールした。
  • 各クラスターにマルチクラスター設定で Istio インストールされている。
  • この手順を実行するために使用できるノートパソコンに istioctl をインストールした。
  • cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインしている。
  • Kiali がすべてのクラスターからメトリクスのクエリーを実行できるようにメトリクスストアを設定した。Kiali は、それぞれのエンドポイントからメトリクスとトレースのクエリーを実行します。

手順

  1. East クラスターに Kiali をインストールします。

    1. Kiali デプロイメントの namespace を作成する kiali.yaml という名前の YAML ファイルを作成します。

      設定例

      apiVersion: kiali.io/v1alpha1
      kind: Kiali
      metadata:
        name: kiali
        namespace: istio-system
      spec:
        version: default
        external_services:
          prometheus:
            auth:
              type: bearer
              use_kiali_token: true
            thanos_proxy:
              enabled: true
            url: https://thanos-querier.openshift-monitoring.svc.cluster.local:9091
      Copy to Clipboard Toggle word wrap

      注記

      この例のエンドポイントは、OpenShift Monitoring を使用してメトリクスを設定します。詳細は、「Kiali を使用して OpenShift モニタリングを設定する」を参照してください。

    2. 次のコマンドを実行して、East クラスターに YAML ファイルを適用します。

      $ oc --context cluster1 apply -f kiali.yaml
      Copy to Clipboard Toggle word wrap

      出力例

      kiali-istio-system.apps.example.com
      Copy to Clipboard Toggle word wrap

  2. 次のコマンドを実行して、Kiali カスタムリソース (CR) が準備完了状態であることを確認します。

    $ oc wait --context cluster1 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
    Copy to Clipboard Toggle word wrap

    出力例

    kiali.kiali.io/kiali condition met
    Copy to Clipboard Toggle word wrap

  3. Kiali Route のホスト名を表示します。

    $ oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
    Copy to Clipboard Toggle word wrap
  4. West クラスター上に Kiali CR を作成します。

    設定例

    apiVersion: kiali.io/v1alpha1
    kind: Kiali
    metadata:
      name: kiali
      namespace: istio-system
    spec:
      version: default
      auth:
        openshift:
          redirect_uris:
            # Replace kiali-route-hostname with the hostname from the previous step.
            - "https://{kiali-route-hostname}/api/auth/callback/cluster2"
      deployment:
        remote_cluster_resources_only: true
    Copy to Clipboard Toggle word wrap

    Kiali Operator は、East クラスター上の Kiali サーバーが West クラスターに接続するために必要なリソースを作成します。Kiali サーバーは West クラスターにインストールされていません。

  5. 次のコマンドを実行して、YAML ファイルを West クラスターに適用します。

    $ oc --context cluster2 apply -f kiali-remote.yaml
    Copy to Clipboard Toggle word wrap
  6. 次のコマンドを実行して、Kiali CR が準備完了状態であることを確認します。

    $ oc wait --context cluster2 --for=condition=Successful kialis/kiali -n istio-system --timeout=3m
    Copy to Clipboard Toggle word wrap
  7. East クラスターの Kiali インストールが West クラスターにアクセスできるように、リモートクラスターシークレットを作成します。

    1. West クラスターの kiali-service-account にバインドされた長期有効 API トークンを作成します。Kiali はこのトークンを使用して West クラスターに対して認証します。

      設定例

      apiVersion: v1
      kind: Secret
      metadata:
        name: "kiali-service-account"
        namespace: "istio-system"
        annotations:
          kubernetes.io/service-account.name: "kiali-service-account"
      type: kubernetes.io/service-account-token
      Copy to Clipboard Toggle word wrap

    2. 次のコマンドを実行して、YAML ファイルを West クラスターに適用します。

      $ oc --context cluster2 apply -f kiali-svc-account-token.yaml
      Copy to Clipboard Toggle word wrap
    3. kubeconfig ファイルを作成し、Kiali デプロイメントが存在する East クラスターの namespace にシークレットとして保存します。

      このプロセスを単純化するには、次の curl コマンドを実行し、kiali-prepare-remote-cluster.sh スクリプトを使用して kubeconfig ファイルを生成します。

      $ curl -L -o kiali-prepare-remote-cluster.sh https://raw.githubusercontent.com/kiali/kiali/master/hack/istio/multicluster/kiali-prepare-remote-cluster.sh
      Copy to Clipboard Toggle word wrap
    4. 次のコマンドを実行して、スクリプトを実行可能に修正します。

      chmod +x kiali-prepare-remote-cluster.sh
      Copy to Clipboard Toggle word wrap
    5. 次のコマンドを実行し、次のコマンドを実行して East および West クラスターのコンテキストを kubeconfig ファイルに渡します。

      $ ./kiali-prepare-remote-cluster.sh --kiali-cluster-context cluster1 --remote-cluster-context cluster2 --view-only false --kiali-resource-name kiali-service-account --remote-cluster-namespace istio-system --process-kiali-secret true --process-remote-resources false --remote-cluster-name cluster2
      Copy to Clipboard Toggle word wrap
      注記

      --help オプションを使用すると、スクリプトの使用方法に関する追加の詳細が表示されます。

  8. 次のコマンドを実行して、Kiali Operator が CR に含まれるリモートシークレットを登録するようにリコンシリエーションループをトリガーします。

    $ oc --context cluster1 annotate kiali kiali -n istio-system --overwrite kiali.io/reconcile="$(date)"
    Copy to Clipboard Toggle word wrap
  9. 次のコマンドを実行して、Kiali リソースが準備完了状態になるまで待ちます。

    oc --context cluster1 wait --for=condition=Successful --timeout=2m kialis/kiali -n istio-system
    Copy to Clipboard Toggle word wrap
  10. 次のコマンドを実行して、Kiali サーバーが準備完了状態になるまで待ちます。

    oc --context cluster1 rollout status deployments/kiali -n istio-system
    Copy to Clipboard Toggle word wrap
  11. Kiali にログインします。

    1. Kiali に初めてアクセスするときは、Kiali デプロイメントが含まれるクラスターにログインします。この例では、East クラスターにアクセスします。
    2. 次のコマンドを実行して、Kiali ルートのホスト名を表示します。

      oc --context cluster1 get route kiali -n istio-system -o jsonpath='{.spec.host}'
      Copy to Clipboard Toggle word wrap
    3. ブラウザーで Kiali URL (https://<your-kiali-route-hostname>) に移動します。
  12. Kiali 経由で West クラスターにログインします。

    Kiali UI で他のクラスターを表示するには、まず Kiali を通じてそれらのクラスターにユーザーとしてログインする必要があります。

    1. 右上のメニューにあるユーザープロファイルドロップダウンをクリックします。
    2. Login to West を選択します。OpenShift ログインページにリダイレクトされ、West クラスターの認証情報の入力が求められます。
  13. Kiali が両方のクラスターからの情報を表示することを確認します。

    1. Overview をクリックし、両方のクラスターの namespace が表示されていることを確認します。
    2. Navigate をクリックし、メッシュグラフに両方のクラスターが表示されていることを確認します。
トップに戻る
Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。 最新の更新を見る.

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

Theme

© 2025 Red Hat