1.8. ServiceMeshControlPlane の作成
1.8.1. About ServiceMeshControlPlane
コントロールプレーンには、Istiod、Ingress および Egress Gateway、Kiali や Jaeger などのその他コンポーネントが含まれます。コントロールプレーンは、Service Mesh Operator やデータプレーンアプリケーションおよびサービスとは別の namespace にデプロイする必要があります。OpenShift Container Platform Web コンソールまたはコマンドラインから oc
クライアントツールを使用して、ServiceMeshControlPlane
(SMCP) の基本的なインストールをデプロイできます。
この基本インストールは、デフォルトの OpenShift Container Platform 設定に基づいて設定されており、実稼働環境での使用を目的として設計されていません。このデフォルトのインストールを使用してインストールを確認し、環境に合わせて ServiceMeshControlPlane
設定を設定します。
Red Hat OpenShift Service on AWS (ROSA) では、リソースを作成できる場所に関して追加の制限が適用されるので、デフォルトのデプロイメントは機能しません。ROSA 環境に SMCP をデプロイメントする前の追加要件は、「Red Hat OpenShift Service on AWS へのサービスメッシュのインストール」を参照してください。
Service Mesh に関するドキュメントは istio-system
をサンプルプロジェクトとして使用しますが、サービスメッシュを任意のプロジェクトにデプロイできます。
1.8.1.1. Web コンソールからの Service Mesh コントロールプレーンのデプロイ
Web コンソールを使用して基本的な ServiceMeshControlPlane
をデプロイできます。この例では、istio-system
が Service Mesh コントロールプレーンプロジェクトの名前となります。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている必要がある。
-
cluster-admin
ロールを持つアカウントがある。
手順
-
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。 istio-system
という名前のプロジェクトを作成します。-
Home
Projects に移動します。 - Create Project をクリックします。
Name
フィールドに istio-system と入力します。ServiceMeshControlPlane
リソースは、マイクロサービスおよび Operator とは異なるプロジェクトにインストールする必要があります。これらのステップは
istio-system
を例として使用しますが、サービスが含まれるプロジェクトから分離されない限り、Service Mesh コントロールプレーンを任意のプロジェクトにデプロイできます。- Create をクリックします。
-
Home
-
Operators
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックした後に、Istio Service Mesh Control Plane をクリックします。
- Istio Service Mesh Control Plane タブで Create ServiceMeshControlPlane をクリックします。
Create ServiceMeshControlPlane ページで、デフォルトの Service Mesh コントロールプレーンバージョンを受け入れて、製品の最新バージョンで利用可能な機能を活用します。コントロールプレーンのバージョンは、Operator のバージョンに関係なく利用可能な機能を判別します。
-
Create をクリックします。Operator は、設定パラメーターに基づいて Pod、サービス、Service Mesh コントロールプレーンのコンポーネントを作成します。
ServiceMeshControlPlane
設定は後で設定できます。
-
Create をクリックします。Operator は、設定パラメーターに基づいて Pod、サービス、Service Mesh コントロールプレーンのコンポーネントを作成します。
Istio Service Mesh Control Plane タブをクリックしてコントロールプレーンが正常にインストールされることを確認します。
- 新規コントロールプレーンの名前をクリックします。
- Resources タブをクリックして、Red Hat OpenShift Service Mesh コントロールプレーンリソース (Operator が作成し、設定したもの) を表示します。
1.8.1.2. CLI を使用した Service Mesh コントロールプレーンのデプロイ
コマンドラインから基本的な ServiceMeshControlPlane
をデプロイできます。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている必要がある。
-
OpenShift CLI (
oc
) へのアクセスがある。
手順
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
istio-system
という名前のプロジェクトを作成します。$ oc new-project istio-system
以下の例を使用して
istio-installation.yaml
という名前のServiceMeshControlPlane
ファイルを作成します。Service Mesh コントロールプレーンのバージョンは、Operator のバージョンに関係なく利用可能な機能を判別します。バージョン 2.4 istio-installation.yaml の例
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic namespace: istio-system spec: version: v2.4 tracing: type: Jaeger sampling: 10000 addons: jaeger: name: jaeger install: storage: type: Memory kiali: enabled: true name: kiali grafana: enabled: true
以下のコマンドを実行して Service Mesh コントロールプレーンをデプロイします。ここで、
<istio_installation.yaml>
にはファイルへの完全パスが含まれます。$ oc create -n istio-system -f <istio_installation.yaml>
Pod のデプロイメントの進行状況を監視するには、次のコマンドを実行します。
$ oc get pods -n istio-system -w
以下のような出力が表示されるはずです。
NAME READY STATUS RESTARTS AGE grafana-b4d59bd7-mrgbr 2/2 Running 0 65m istio-egressgateway-678dc97b4c-wrjkp 1/1 Running 0 108s istio-ingressgateway-b45c9d54d-4qg6n 1/1 Running 0 108s istiod-basic-55d78bbbcd-j5556 1/1 Running 0 108s jaeger-67c75bd6dc-jv6k6 2/2 Running 0 65m kiali-6476c7656c-x5msp 1/1 Running 0 43m prometheus-58954b8d6b-m5std 2/2 Running 0 66m
1.8.1.3. CLI を使用した SMCP インストールの検証
コマンドラインから ServiceMeshControlPlane
の作成を検証できます。
手順
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。$ oc login https://<HOSTNAME>:6443
次のコマンドを実行して、Service Mesh コントロールプレーンのインストールを確認します。
istio-system
は、Service Mesh コントロールプレーンをインストールした namespace です。$ oc get smcp -n istio-system
STATUS
列がComponentsReady
の場合は、インストールが正常に終了しています。NAME READY STATUS PROFILES VERSION AGE basic 10/10 ComponentsReady ["default"] 2.1.1 66m
1.8.2. コントロールプレーンコンポーネントとインフラストラクチャーノードについて
インフラストラクチャーノードは、次の 2 つの主な目的のためにインフラストラクチャーのワークロードを分離する方法を提供します。
- サブスクリプション数に対する請求コストの発生を防ぐため
- インフラストラクチャーのワークロードの保守と管理を分離するため
サービスメッシュコントロールプレーンコンポーネントの一部またはすべてをインフラストラクチャーノード上で実行するように設定できます。
1.8.2.1. Web コンソールを使用してインフラストラクチャーノード上で実行されるようにすべてのコントロールプレーンコンポーネントを設定する
サービスメッシュコントロールプレーンによってデプロイされたすべてのコンポーネントがインフラストラクチャーノードで実行される場合は、このタスクを実行します。これらのデプロイされたコンポーネントには、Istiod、Ingress Gateway、Egress Gateway、および Prometheus、Grafana、Distributed Tracing などのオプションのアプリケーションが含まれます。
コントロールプレーンをワーカーノード上で実行する場合は、このタスクを省略してください。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
cluster-admin
ロールを持つユーザーとしてログインしています。Red Hat OpenShift Dedicated を使用する場合は、dedicated-admin
ロールを持つユーザーとしてログインします。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックし、次に Istio Service Mesh Control Plane をクリックします。
-
コントロールプレーンリソースの名前をクリックします。たとえば、
basic
です。 - YAML をクリックします。
次の例に示すように、
nodeSelector
フィールドとtolerations
フィールドをServiceMeshControlPlane
リソースのspec.runtime.defaults.pod
仕様に追加します。spec: runtime: defaults: pod: 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
- Save をクリックします。
- Reload をクリックします。
1.8.2.2. Web コンソールを使用してインフラストラクチャーノード上で実行されるように個別のコントロールプレーンコンポーネントを設定する
サービスメッシュコントロールプレーンによってデプロイされた個々のコンポーネントがインフラストラクチャーノードで実行される場合は、このタスクを実行します。これらのデプロイされたコンポーネントには、Istiod、Ingress Gateway、および Egress Gateway が含まれます。
コントロールプレーンをワーカーノード上で実行する場合は、このタスクを省略してください。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
cluster-admin
ロールを持つユーザーとしてログインしています。Red Hat OpenShift Dedicated を使用する場合は、dedicated-admin
ロールを持つユーザーとしてログインします。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックし、次に Istio Service Mesh Control Plane をクリックします。
-
コントロールプレーンリソースの名前をクリックします。たとえば、
basic
です。 - YAML をクリックします。
次の例に示すように、
nodeSelector フィールド
とtolerations
フィールドをServiceMeshControlPlane
リソースのspec.runtime.components.pilot.pod
仕様に追加します。spec: runtime: components: pilot: pod: 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
次の例に示すように、
nodeSelector
フィールドとtolerations
フィールドをServiceMeshControlPlane
リソースのspec.gateways.ingress.runtime.pod
およびspec.gateways.egress.runtime.pod
仕様に追加します。spec: gateways: ingress: runtime: pod: 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 egress: runtime: pod: nodeSelector: 3 node-role.kubernetes.io/infra: "" tolerations: 4 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reserved
- Save をクリックします。
- Reload をクリックします。
1.8.2.3. CLI を使用してインフラストラクチャーノード上で実行されるようにすべてのコントロールプレーンコンポーネントを設定する
サービスメッシュコントロールプレーンによってデプロイされたすべてのコンポーネントがインフラストラクチャーノードで実行される場合は、このタスクを実行します。これらのデプロイされたコンポーネントには、Istiod、Ingress Gateway、Egress Gateway、および Prometheus、Grafana、Distributed Tracing などのオプションのアプリケーションが含まれます。
コントロールプレーンをワーカーノード上で実行する場合は、このタスクを省略してください。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
cluster-admin
ロールを持つユーザーとしてログインしています。Red Hat OpenShift Dedicated を使用する場合は、dedicated-admin
ロールを持つユーザーとしてログインします。
手順
ServiceMeshControlPlane
リソースを YAML ファイルとして開きます。$ oc -n istio-system edit smcp <name> 1
- 1
<name>
は、ServiceMeshControlPlane
リソースの名前を表します。
ServiceMeshControlPlane
によってデプロイされたすべての Service Mesh コンポーネントをインフラストラクチャーノードで実行するには、ServiceMeshControlPlane
リソースのspec.runtime.defaults.pod
仕様にnodeSelector
フィールドとtolerations
フィールドを追加します。spec: runtime: defaults: pod: 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.8.2.4. CLI を使用してインフラストラクチャーノード上で実行されるように個別のコントロールプレーンコンポーネントを設定する
サービスメッシュコントロールプレーンによってデプロイされた個々のコンポーネントがインフラストラクチャーノードで実行される場合は、このタスクを実行します。これらのデプロイされたコンポーネントには、Istiod、Ingress Gateway、および Egress Gateway が含まれます。
コントロールプレーンをワーカーノード上で実行する場合は、このタスクを省略してください。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
cluster-admin
ロールを持つユーザーとしてログインしています。Red Hat OpenShift Dedicated を使用する場合は、dedicated-admin
ロールを持つユーザーとしてログインします。
手順
ServiceMeshControlPlane
リソースを YAML ファイルとして開きます。$ oc -n istio-system edit smcp <name> 1
- 1
<name>
は、ServiceMeshControlPlane
リソースの名前を表します。
インフラストラクチャーノードで Istiod コンポーネントを実行するには、
ServiceMeshControlPlane
リソースのspec.runtime.components.pilot.pod
仕様にnodeSelector
フィールドとtolerations
フィールドを追加します。spec: runtime: components: pilot: pod: 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
Ingress Gateway と Egress Gateway をインフラストラクチャーノードで実行する場合は、
ServiceMeshControlPlane
リソースのspec.gateways.ingress.runtime.pod
仕様とspec.gateways.egress.runtime.pod
仕様に、nodeSelector
フィールドとtolerations
フィールドを追加します。spec: gateways: ingress: runtime: pod: 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 egress: runtime: pod: nodeSelector: 3 node-role.kubernetes.io/infra: "" tolerations: 4 - effect: NoSchedule key: node-role.kubernetes.io/infra value: reserved - effect: NoExecute key: node-role.kubernetes.io/infra value: reserved
1.8.2.5. Service Mesh コントロールプレーンがインフラストラクチャーノードで実行されていることの検証
手順
Istiod、Ingress Gateway、Egress Gateway Pod に関連付けられたノードがインフラストラクチャーノードであることを確認します。
$ oc -n istio-system get pods -owide
1.8.3. コントロールプレーンとクラスター全体のデプロイメントについて
クラスター全体のデプロイメントには、クラスター全体のリソースを監視する Service Mesh Control Plane が含まれます。クラスター全体のリソースの監視は、コントロールプレーンがすべての名前空間にわたって単一のクエリーを使用して Istio および Kubernetes リソースを監視するという点で、Istio の機能によく似ています。その結果、クラスター全体のデプロイメントにより、API サーバーに送信されるリクエストの数が減少します。
OpenShift Container Platform Web コンソールまたは CLI を使用して、クラスター全体のデプロイメント用に Service Mesh コントロールプレーンを設定できます。
1.8.3.1. Web コンソールを使用したクラスター全体のデプロイメント用のコントロールプレーンの設定
OpenShift Container Platform Web コンソールを使用して、クラスター全体のデプロイメント用に ServiceMeshControlPlane
リソースを設定できます。この例では、istio-system
が Service Mesh コントロールプレーンプロジェクトの名前となります。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
cluster-admin
ロールを持つアカウントを使用してログインしているか、Red Hat OpenShift Dedicated をdedicated-admin
ロールを持つアカウントを使用してログインしています。
手順
istio-system
という名前のプロジェクトを作成します。-
Home
Projects に移動します。 - Create Project をクリックします。
Name
フィールドに istio-system と入力します。ServiceMeshControlPlane
リソースは、マイクロサービスおよび Operator とは異なるプロジェクトにインストールする必要があります。これらの手順では、
istio-system
をサンプルとして使用します。Service Mesh コントロールプレーンは、サービスが含まれるプロジェクトから分離されている限り、任意のプロジェクトにデプロイできます。- Create をクリックします。
-
Home
-
Operators
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックした後に、Istio Service Mesh Control Plane をクリックします。
- Istio Service Mesh Control Plane タブで Create ServiceMeshControlPlane をクリックします。
- YAML view をクリックします。Service Mesh コントロールプレーンのバージョンは、Operator のバージョンに関係なく利用可能な機能を判別します。
YAML ファイルの
spec.mode
フィールドを変更して、Clusterwide
を指定します。バージョン 2.4 istio-installation.yaml の例
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic namespace: istio-system spec: version: v2.4 mode: ClusterWide
-
Create をクリックします。Operator は、設定パラメーターに基づいて Pod、サービス、Service Mesh コントロールプレーンのコンポーネントを作成します。
ServiceMeshMemberRoll
がデフォルト設定の一部として存在しないと、オペレーターは ServiceMeshMemberRoll も作成します。 Istio Service Mesh Control Plane タブをクリックしてコントロールプレーンが正常にインストールされることを確認します。
-
新しい
ServiceMeshControlPlane
オブジェクトの名前をクリックします。 - Resources タブをクリックして、Red Hat OpenShift Service Mesh コントロールプレーンリソース (Operator が作成し、設定したもの) を表示します。
-
新しい
このモジュールは次のアセンブリに含まれています: * service_mesh/v2x/ossm-create-smcp.adoc :_content-type: PROCEDURE
1.8.3.2. CLI を使用したクラスター全体のデプロイメント用のコントロールプレーンの設定
CLI を使用して、クラスター全体のデプロイメント用に ServiceMeshControlPlane
リソースを設定できます。この例では、istio-system
はサービスメッシュコントロールプレーンの名前空間の名前です。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされています。
-
OpenShift CLI (
oc
) にアクセスできる。
手順
cluster-admin
ロールを持つユーザーとして OpenShift Container Platform CLI にログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-admin
ロールがあるアカウント。$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
istio-system
という名前のプロジェクトを作成します。$ oc new-project istio-system
以下の例を使用して
istio-installation.yaml
という名前のServiceMeshControlPlane
ファイルを作成します。バージョン 2.4 istio-installation.yaml の例
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic namespace: istio-system spec: version: v2.4 mode: ClusterWide
以下のコマンドを実行して Service Mesh コントロールプレーンをデプロイします。ここで、
<istio_installation.yaml>
にはファイルへの完全パスが含まれます。$ oc create -n istio-system -f <istio_installation.yaml>
Pod のデプロイの進行状況を監視するには、次のコマンドを実行します。
$ oc get pods -n istio-system -w
次の例のような出力が表示されるはずです。
出力例
NAME READY STATUS RESTARTS AGE grafana-b4d59bd7-mrgbr 2/2 Running 0 65m istio-egressgateway-678dc97b4c-wrjkp 1/1 Running 0 108s istio-ingressgateway-b45c9d54d-4qg6n 1/1 Running 0 108s istiod-basic-55d78bbbcd-j5556 1/1 Running 0 108s jaeger-67c75bd6dc-jv6k6 2/2 Running 0 65m kiali-6476c7656c-x5msp 1/1 Running 0 43m prometheus-58954b8d6b-m5std 2/2 Running 0 66m
このモジュールは次のアセンブリに含まれています: * service_mesh/v2x/ossm-create-smcp.adoc
1.8.3.3. クラスター全体のメッシュのメンバーロールのカスタマイズ
クラスター全体モードでは、ServiceMeshControlPlane
リソースを作成すると、ServiceMeshMemberRoll
リソースも作成されます。ServiceMeshMemberRoll
リソースは、作成後に変更できます。リソースを変更すると、Service Mesh オペレーターはそのリソースを変更しなくなります。OpenShift Container Platform Web コンソールを使用して ServiceMeshMemberRoll
リソースを変更する場合は、変更を上書きするプロンプトを受け入れます。
または、ServiceMeshControlPlane
リソースをデプロイする前に ServiceMeshMemberRoll
リソースを作成することもできます。ServiceMeshControlPlane
リソースを作成するとき、Service Mesh Operator は ServiceMeshMemberRoll
を変更しません。
ServiceMeshMemberRoll
リソース名には、default
という名前を付け、ServiceMeshControlPlane
リソースと同じプロジェクト名前空間に作成する必要があります。
メッシュに名前空間を追加するには 2 つの方法があります。spec.members
リストで名前を指定して名前空間を追加することも、ラベルに基づいて名前空間を含めるか除外するように一連の名前空間ラベルセレクターを設定することもできます。
ServiceMeshMemberRoll
リソースでメンバーがどのように指定されているかに関係なく、各名前空間に ServiceMeshMember
リソースを作成してメッシュにメンバーを追加することもできます。
1.8.4. Kiali を使用した SMCP インストールの検証
Kiali コンソールを使用して、Service Mesh のインストールを検証できます。Kiali コンソールには、Service Mesh コンポーネントが適切にデプロイおよび設定されていることを検証する方法がいくつかあります。
手順
-
cluster-admin 権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合)
dedicated-admin
ロールがあるアカウント。 -
Networking
Routes に移動します。 Routes ページで、Namespace メニューから Service Mesh コントロールプレーンプロジェクトを選択します (例:
istio-system
)。Location 列には、各ルートのリンク先アドレスが表示されます。
- 必要に応じて、フィルターを使用して Kiali コンソールのルートを見つけます。ルートの Location をクリックしてコンソールを起動します。
Log In With OpenShift をクリックします。
初回の Kiali コンソールへのログイン時に、表示するパーミッションを持つサービスメッシュ内のすべての namespace を表示する Overview ページが表示されます。概要 ページに複数の namespace が表示されている場合は、Kiali は最初に正常性または検証に問題がある namespace を表示します。
図1.1 Kiali の概要ページ
各 namespace のタイルには、ラベルの数、Istio Config の状態、アプリケーション の状態と数、namespace の トラフィック が表示されます。コンソールのインストールを検証中で、namespace がまだメッシュに追加されていないと、
istio-system
以外のデータは表示されない可能性があります。Kiali には、Service Mesh コントロールプレーンがインストールされている namespace 専用のダッシュボードが 4 つあります。これらのダッシュボードを表示するには、オプション メニューをクリックします コントロールプレーン namespace のタイル (例:
istio-system
) で、次のいずれかのオプションを選択します。- Istio メッシュダッシュボード
- Istio コントロールプレーンダッシュボード
- Istio パフォーマンスダッシュボード
Istio Wasm Exetension ダッシュボード
図1.2 GrafanaIstio コントロールプレーンダッシュボード
Kiali は、Grafana ホームページ から入手できる追加の Grafana ダッシュボード 2 つもインストールします。
- Istio ワークロードダッシュボード
- Istio サービスダッシュボード
Service Mesh コントロールプレーンノードを表示するには、グラフ ページをクリックし、メニューから
ServiceMeshControlPlane
をインストールした Namespace を選択します (例:istio-system
)。- 必要に応じて、Display idle nodes をクリックします。
- グラフ ページの詳細は、グラフツアー リンクをクリックしてください。
- メッシュトポロジーを表示するには、namespace メニューの Service Mesh メンバーロールから追加の namespace を 1 つまたは複数選択します。
istio-system
namespace 内のアプリケーションのリストを表示するには、アプリケーション ページをクリックします。Kiali は、アプリケーションの状態を表示します。- 情報アイコンの上にマウスをかざすと、詳細 列に記載されている追加情報が表示されます。
istio-system
namespace のワークロードのリストを表示するには、ワークロード ページをクリックします。Kiali は、ワークロードの状態を表示します。- 情報アイコンの上にマウスをかざすと、詳細 列に記載されている追加情報が表示されます。
istio-system
namespace のサービスのリストを表示するには、サービス ページをクリックします。Kiali は、サービスと設定の状態を表示します。- 情報アイコンの上にマウスをかざすと、詳細 列に記載されている追加情報が表示されます。
istio-system
namespace の Istio 設定オブジェクトのリストを表示するには、Istio Config ページをクリックします。Kiali は、設定の正常性を表示します。- 設定エラーがある場合は、行をクリックすると、Kiali が設定ファイルを開き、エラーが強調表示されます。
1.8.5. Red Hat OpenShift Service on AWS (ROSA) へのインストール
バージョン 2.2 以降、Red Hat OpenShift Service Mesh は Red Hat OpenShift Service on AWS (ROSA) へのインストールがサポートされます。このセクションでは、このプラットフォームに Service Mesh をインストールする際の追加の要件を説明します。
1.8.5.1. インストールの場所
Red Hat OpenShift Service Mesh をインストールし、ServiceMeshControlPlane
を作成する際に、istio-system
などの新規 namespace を作成する必要があります。
1.8.5.2. 必要な Service Mesh コントロールプレーンの設定
ServiceMeshControlPlane
ファイルのデフォルト設定は ROSA クラスターでは機能しません。Red Hat OpenShift Service on AWS にインストールする場合は、デフォルトの SMCP を変更し、spec.security.identity.type=ThirdParty
を設定する必要があります。
ROSA 用の ServiceMeshControlPlane
リソースの例
apiVersion: maistra.io/v2 kind: ServiceMeshControlPlane metadata: name: basic namespace: istio-system spec: version: v2.4 security: identity: type: ThirdParty #required setting for ROSA tracing: type: Jaeger sampling: 10000 policy: type: Istiod addons: grafana: enabled: true jaeger: install: storage: type: Memory kiali: enabled: true prometheus: enabled: true telemetry: type: Istiod
1.8.5.3. Kiali 設定の制限
Red Hat OpenShift Service on AWS では、リソースを作成できる場所に関して追加の制限が適用され、Red Hat 管理の namespace に Kiali リソースを作成することはできません。
つまり、ROSA クラスターでは、spec.deployment.accessible_namespaces
の以下の共通設定は許可されません。
-
['**']
(すべての namespaces) -
default
-
codeready-*
-
openshift-*
-
redhat-*
検証エラーメッセージでは、制限されたすべての namespace の完全なリストが提供されます。
ROSA 用の Kiali
リソースの例
apiVersion: kiali.io/v1alpha1 kind: Kiali metadata: name: kiali namespace: istio-system spec: auth: strategy: openshift deployment: accessible_namespaces: #restricted setting for ROSA - istio-system image_pull_policy: '' ingress_enabled: true namespace: istio-system
1.8.6. 関連情報
Red Hat OpenShift Service Mesh はクラスター内で複数の独立したコントロールプレーンをサポートします。ServiceMeshControlPlane
プロファイルを使用すると、再利用可能な設定を作成ができます。詳細は、コントロールプレーンプロファイルの作成 を参照してください。
1.8.7. 次のステップ
- プロジェクトを Service Mesh に追加してアプリケーションを利用可能にします。詳細は、Service Mesh へのサービスの追加 を参照してください。