1.7. Operator のインストール

Red Hat OpenShift Service Mesh をインストールするには、まず必要な Operator を OpenShift Container Platform にインストールし、コントロールプレーンをデプロイするために ServiceMeshControlPlane リソースを作成します。

注記

この基本的なインストールはデフォルトの OpenShift 設定に基づいて設定され、実稼働環境での使用を目的としていません。  このデフォルトインストールを使用してインストールを確認し、お使いの環境にサービスメッシュを設定します。

前提条件

以下の手順では、OpenShift Container Platform に Red Hat OpenShift Service Mesh の基本的なインスタンスをインストールする方法について説明します。

1.7.1. Operator の概要

Red Hat OpenShift Service Mesh には、以下の 4 つの Operator が必要です。

  • OpenShift Elasticsearch:(オプション) 分散トレースプラットフォームでのトレースおよびロギング用にデータベースストレージを提供します。これはオープンソースの Elasticsearch プロジェクトに基づいています。
  • Red Hat OpenShift 分散トレースプラットフォーム: 複雑な分散システムでのトランザクションを監視し、トラブルシューティングするための分散トレース機能を提供します。これはオープンソースの Jaeger プロジェクトに基づいています。
  • Red Hat が提供する Kiali Operator: サービスメッシュの可観測性を提供します。これにより、単一のコンソールで設定を表示し、トラフィックを監視し、トレースの分析を実行できます。これはオープンソースの Kiali プロジェクトに基づいています。
  • Red Hat OpenShift Service Mesh: アプリケーションを設定するマイクロサービスを接続し、保護し、制御し、観察できます。Service Mesh Operator は、Service Mesh コンポーネントのデプロイメント、更新、および削除を管理する ServiceMeshControlPlane リソースを定義し、監視します。これはオープンソースの Istio プロジェクトに基づいています。
警告

Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。

1.7.2. Operator のインストール

Red Hat OpenShift Service Mesh をインストールするには、以下の Operator をこの順序でインストールします。Operator ごとに手順を繰り返します。

  • OpenShift Elasticsearch
  • Red Hat OpenShift 分散トレースプラットフォーム
  • Red Hat が提供する Kiali Operator
  • Red Hat OpenShift Service Mesh
注記

OpenShift Logging の一部として OpenShift Elasticsearch Operator がすでにインストールされている場合は、OpenShift Elasticsearch Operator を再びインストールする必要はありません。Red Hat OpenShift 分散トレースプラットフォーム Operator はインストールされた OpenShift Elasticsearch Operator を使用して Elasticsearch インスタンスを作成します。

手順

  1. cluster-admin ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合) dedicated-admin ロールがあるアカウント。
  2. OpenShift Container Platform Web コンソールで、OperatorsOperatorHub をクリックします。
  3. Operator のフィルターボックスに名前を入力し、Red Hat バージョンの Operator を選択します。Operator のコミュニティーバージョンはサポートされていません。
  4. Install をクリックします。
  5. 各 Operator の Install Operator ページで、デフォルト設定を受け入れます。
  6. Install をクリックします。Operator がインストールされるまで待機してから、一覧で次に来る Operator で手順を繰り返します。

    • OpenShift Elasticsearch Operator は、openshift-operators-redhat namespace にインストールされ、クラスター内のすべての namespace で使用できます。
    • Red Hat OpenShift 分散トレースプラットフォームは、openshift-distributed-tracing namespace にインストールされ、クラスター内のすべての namespace で使用できます。
    • Red Hat および Red Hat OpenShift Service Mesh Operator が提供する Kiali Operator は openshift-operators namespace にインストールされ、クラスター内のすべての namespace で使用できます。
  7. 4 つの Operator すべてをインストールしたら、OperatorsInstalled Operators をクリックし、Operator がインストールされていることを確認します。

1.7.3. インフラストラクチャーノード上で実行する Service Mesh Operator の設定

このタスクは、Service Mesh Operator がインフラストラクチャーノードで実行されている場合にのみ実行する必要があります。

Operator をワーカーノード上で実行する場合は、このタスクを省略してください。

前提条件

  • Service Mesh Operator がインストールされている。
  • デプロイメントを構成するノードのいずれかが、インフラストラクチャーノードである。詳細は、「インフラストラクチャーマシンセットの作成」を参照してください。

手順

  1. namespace にインストールされている Operator を一覧表示します。

    $ oc -n openshift-operators get subscriptions
  2. Service Mesh Operator Subscription リソースを編集して、Operator を実行する場所を指定します。

    $ oc -n openshift-operators edit subscription <name> 1
    1
    <name>は、Subscription リソースの名前です。Subscription リソースのデフォルト名は servicemeshoperator です。
  3. Subscription リソースの spec.config に、NodeSelectortolerations を追加します。

    spec:
      config:
        nodeSelector: 1
          node-role.kubernetes.io/infra: ""
        tolerations: 2
        - effect: NoSchedule
          key: node-role.kubernetes.io/infra
          value: reserved
        - effect: NoExecute
          key: node-role.kubernetes.io/infra
          value: reserved
    1
    Operator Pod がインフラストラクチャーノード上でのみスケジュールされるようにします。
    2
    インフラストラクチャーノードが Pod を受け入れるか確認します。

1.7.4. Service Mesh Operator のインフラストラクチャーノードでの実行を検証

手順

  • Operator Pod に関連付けられたノードがインフラストラクチャーノードであることを確認します。

    $ oc -n openshift-operators get po -l name=istio-operator -owide

1.7.5. 次のステップ

  • Red Hat OpenShift Service Mesh Operator は、Service Mesh コントロールプレーンをデプロイするまで、Service Mesh カスタムリソース定義 (CRD) を作成しません。ServiceMeshControlPlane リソースを使用して、Service Mesh コンポーネントをインストールおよび設定できます。詳細は、ServiceMeshControlPlane の作成 を参照してください。