This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.3.2. Red Hat OpenShift Service Mesh のインストール
サービスメッシュのインストールには、Elasticsearch、Jaeger、Kiali、Service Mesh Operator のインストール、コントロールプレーンをデプロイするための ServiceMeshControlPlane リソースの作成および管理、サービスメッシュに関連する namespace を指定するための ServiceMeshMemberRoll リソースの作成が含まれます。
Mixer のポリシーの適用はデフォルトで無効にされています。ポリシータスクを実行するには、これを有効にする必要があります。Mixer ポリシーの適用を有効にする方法については、Mixer ポリシーの適用の更新について参照してください。
マルチテナントコントロールプレーンのインストールは、Red Hat OpenShift Service Mesh 1.0 以降のデフォルト設定です。
サービスメッシュに関するドキュメントは istio-system をサンプルプロジェクトとして使用しますが、サービスメッシュを任意のプロジェクトにデプロイできます。
前提条件
- Red Hat OpenShift Service Mesh のインストールの準備プロセスに従ってください。
-
cluster-adminロールを持つアカウント。
3.2.1. OperatorHub からの Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
サービスメッシュのインストールプロセスでは、OperatorHub を使用して openshift-operators プロジェクト内に ServiceMeshControlPlane カスタムリソース定義をインストールします。Red Hat OpenShift Service Mesh は、コントロールプレーンのデプロイメント、更新、および削除に関連する ServiceMeshControlPlane を定義し、監視します。
Red Hat OpenShift Service Mesh 1.1.2 以降では、Red Hat OpenShift Service Mesh Operator がコントロールプレーンをインストールするには、Elasticsearch Operator、Jaeger Operator、および Kiali Operator をインストールをする必要があります。
3.2.1.1. Elasticsearch Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンをインストールするには、Red Hat OpenShift Service Mesh Operator の Elasticsearch Operator をインストールする必要があります。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
OperatorHub に移動します。 - Elasticsearch とフィルターボックスに入力して、Elasticsearch Operator を検索します。
- Elasticsearch Operator をクリックし、Operator についての情報を表示します。
- Install をクリックします。
-
Create Operator Subscription ページで、All namespaces on the cluster (default) を選択します。これにより、Operator がデフォルトの
openshift-operatorsプロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 - Update Channel で最新のバージョンを選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Installed Operators ページには、Elasticsearch Operator のインストールの進捗状況が表示されます。
3.2.1.2. Jaeger Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンをインストールするには、Red Hat OpenShift Service Mesh Operator の Jaeger Operator をインストールする必要があります。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
- Elasticsearch Operator がインストールされていること。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
OperatorHub に移動します。 - Jaeger とフィルターボックスに入力して、Jaeger Operator を検索します。
- Red Hat が提供する Jaeger Operator をクリックし、Operator についての情報を表示します。
- Install をクリックします。
-
Create Operator Subscription ページで、All namespaces on the cluster (default) を選択します。これにより、Operator がデフォルトの
openshift-operatorsプロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 - stable Update Channel を選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Subscription Overview ページには、Jaeger Operator のインストールの進捗状況が表示されます。
3.2.1.3. Kiali Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
コントロールプレーンをインストールするには、Red Hat OpenShift Service Mesh Operator の Kiali Operator をインストールする必要があります。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
OperatorHub に移動します。 - Kiali とフィルターボックスに入力して、Kiali Operator を検索します。
- Red Hat が提供する Kiali Operator をクリックし、Operator についての情報を表示します。
- Install をクリックします。
-
Create Operator Subscription ページで、All namespaces on the cluster (default) を選択します。これにより、Operator がデフォルトの
openshift-operatorsプロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 - stable Update Channel を選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Subscription Overview ページには、Kiali Operator のインストールの進捗状況が表示されます。
3.2.1.4. Red Hat OpenShift Service Mesh Operator のインストール リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
- Elasticsearch Operator がインストールされていること。
- Jaeger Operator がインストールされていること。
- Kiali Operator がインストールされていること。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
OperatorHub に移動します。 - Red Hat OpenShift Service Mesh とフィルターボックスに入力して、Red Hat OpenShift Service Mesh Operator を検索します。
- Red Hat OpenShift Service Mesh Operator をクリックし、Operator についての情報を表示します。
-
Create Operator Subscription ページで、All namespaces on the cluster (default) を選択します。これにより、Operator がデフォルトの
openshift-operatorsプロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 - Install をクリックします。
- stable Update Channel を選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Subscription Overview ページには、Red Hat OpenShift Service Mesh Operator のインストールの進捗状況が表示されます。
3.2.1.5. Red Hat OpenShift Service Mesh コントロールプレーンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshControlPlane リソースは、インストール時に使用される設定を定義します。Red Hat が提供するデフォルト設定をデプロイするか、またはビジネスのニーズに合わせて ServiceMeshControlPlane ファイルをカスタマイズすることができます。
Web コンソールを使用するか、または oc クライアントツールを使用してコマンドラインからサービスメッシュコントロールプレーンをデプロイすることができます。
3.2.1.5.1. Web コンソールを使用したコントロールプレーンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、Web コンソールを使用して Red Hat OpenShift Service Mesh コントロールプレーンをデプロイします。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされていること。
- Red Hat OpenShift Service Mesh のインストールのカスタマイズ方法についての手順を確認します。
-
cluster-adminロールを持つアカウント。
手順
-
cluster-adminロールを持つユーザーとして OpenShift Container Platform Web コンソールにログインします。 istio-systemという名前のプロジェクトを作成します。-
Home
Projects に移動します。 - Create Project をクリックします。
-
Name フィールドに
istio-systemを入力します。 - Create をクリックします。
-
Home
-
Operators
Installed Operators に移動します。 -
必要な場合は、Project メニューから
istio-systemを選択します。Operator が新規プロジェクトにコピーされるまでに数分待機する必要がある場合があります。 Red Hat OpenShift Service Mesh Operator をクリックします。Provided APIs の下に、Operator は 2 つのリソースタイプを作成するためのリンクを提供します。
-
ServiceMeshControlPlaneリソース -
ServiceMeshMemberRollリソース
-
- Istio Service Mesh Control Plane で Create ServiceMeshControlPlane をクリックします。
Create Service Mesh Control Plane ページで、必要に応じてデフォルト
ServiceMeshControlPlaneテンプレートの YAML を変更します。注記コントロールプレーンのカスタマイズについての詳細は、Red Hat OpenShift Service Mesh インストールのカスタマイズについて参照してください。実稼働環境の場合は、デフォルトの Jaeger テンプレートを変更する 必要 があります。
- Create をクリックしてコントロールプレーンを作成します。Operator は、設定パラメーターに基づいて Pod、サービス、サービスメッシュコントロールプレーンのコンポーネントを作成します。
- Istio Service Mesh Control Plane タブをクリックします。
- 新規コントロールプレーンの名前をクリックします。
- Resources タブをクリックして、Red Hat OpenShift Service Mesh コントロールプレーンリソース (Operator が作成し、設定したもの) を表示します。
3.2.1.5.2. CLI からのコントロールプレーンのデプロイ リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、CLI を使用して Red Hat OpenShift Service Mesh コントロールプレーンをデプロイします。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされていること。
- Red Hat OpenShift Service Mesh のインストールのカスタマイズ方法についての手順を確認します。
-
cluster-adminロールを持つアカウント。 -
ocとして知られる OpenShift Container Platform コマンドラインインターフェース (CLI) にアクセスします。
手順
cluster-adminロールを持つユーザーとして OpenShift Container Platform CLI にログインします。oc login https://{HOSTNAME}:6443$ oc login https://{HOSTNAME}:6443Copy to Clipboard Copied! Toggle word wrap Toggle overflow istio-systemという名前のプロジェクトを作成します。oc new-project istio-system
$ oc new-project istio-systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow -
「Customize the Red Hat OpenShift Service Mesh installation」にある詳細例を使用して、
istio-installation.yamlという名前のServiceMeshControlPlaneファイルを作成します。必要に応じて値をカスタマイズして、ユースケースに合わせて使用することができます。実稼働環境の場合は、デフォルトの Jaeger テンプレートを変更する 必要 があります。 以下のコマンドを実行してコントロールプレーンをデプロイします。
oc create -n istio-system -f istio-installation.yaml
$ oc create -n istio-system -f istio-installation.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、コントロールプレーンのインストールのステータスを確認します。
oc get smcp -n istio-system
$ oc get smcp -n istio-systemCopy to Clipboard Copied! Toggle word wrap Toggle overflow READY 列が true の場合、インストールは正常に終了しています。
NAME READY basic-install True
NAME READY basic-install TrueCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、インストールプロセス時の Pod の進捗を確認します。
oc get pods -n istio-system -w
$ oc get pods -n istio-system -wCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のような出力が表示されるはずです。
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
マルチテナントインストールでは、Red Hat OpenShift Service Mesh はクラスター内で複数の独立したコントロールプレーンをサポートします。ServiceMeshControlPlane テンプレートを使用すると、再利用可能な設定を作成することができます。詳しい情報は、「コントロールプレーンのテンプレートの作成」を参照してください。
3.2.1.6. Red Hat OpenShift Service Mesh メンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshMemberRoll は、コントロールプレーンに属するプロジェクトを一覧表示します。ServiceMeshMemberRoll に一覧表示されているプロジェクトのみがコントロールプレーンの影響を受けます。プロジェクトは、特定のコントロールプレーンのデプロイメント用にメンバーロールに追加するまでサービスメッシュに属しません。
ServiceMeshControlPlane と同じプロジェクトに、 default という名前の ServiceMeshMemberRoll リソースを作成する必要があります。
メンバープロジェクトは、サービスメッシュコントロールプレーンのインストールが成功した場合にのみ更新されます。
3.2.1.6.1. Web コンソールからのメンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、Web コンソールを使用して 1 つ以上のプロジェクトを Service Mesh Member Roll に追加します。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
-
インストールされた
ServiceMeshControlPlaneの場所。 - サービスメッシュに追加する既存プロジェクトの一覧。
手順
メッシュのプロジェクトがない場合や、ゼロから作業を開始する場合は、プロジェクトを作成します。これは
istio-systemとは異なるものである必要があります。-
Home
Projects に移動します。 - Name フィールドに名前を入力します。
- Create をクリックします。
-
Home
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators に移動します。 -
Project メニューをクリックし、一覧から
ServiceMeshControlPlaneがデプロイされているプロジェクト (例:istio-system) を選択します。 - Red Hat OpenShift Service Mesh Operator をクリックします。
- All Instances タブをクリックします。
Create New をクリックしてから Create Istio Service Mesh Member Roll を選択します。
注記Operator がリソースのコピーを終了するまでに少し時間がかかる場合があります。そのため、Create Istio Service Mesh Member Roll ボタンが表示されるように画面を更新する必要がある場合があります。
-
Create Service Mesh Member Roll ページで、YAML を変更してプロジェクトをメンバーとして追加します。任意の数のプロジェクトを追加できますが、プロジェクトは単一の
ServiceMeshMemberRollリソースしか属することができません。 - Create をクリックして、Service Mesh Member Roll を保存します。
3.2.1.6.2. CLI からのメンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、コマンドラインからプロジェクトを ServiceMeshMemberRoll に追加します。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
-
インストールされた
ServiceMeshControlPlaneの場所。 - サービスメッシュに追加するプロジェクトの一覧。
-
ocとして知られる OpenShift Container Platform コマンドラインインターフェース (CLI) にアクセスします。
手順
OpenShift Container Platform CLI にログインします。
oc login
$ oc loginCopy to Clipboard Copied! Toggle word wrap Toggle overflow istio-systemの例では、ServiceMeshMemberRollリソースをServiceMeshControlPlaneリソースと同じプロジェクトに作成します。リソースの名前はdefaultにする必要があります。oc create -n istio-system -f servicemeshmemberroll-default.yaml
$ oc create -n istio-system -f servicemeshmemberroll-default.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
デフォルトの YAML を変更して、プロジェクトを
membersとして追加します。任意の数のプロジェクトを追加できますが、プロジェクトは単一のServiceMeshMemberRollリソースしか属することができません。
3.2.1.6.3. Red Hat OpenShift Service Mesh メンバーの作成 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshMember リソースは、ServiceMeshMemberRoll にメンバーを直接追加する特権を持たないサービスメッシュユーザーが作成できます。プロジェクト管理者にはプロジェクトで ServiceMeshMember リソースを作成するためのパーミッションが自動的に付与されますが、サービスメッシュ管理者がサービスメッシュへのアクセスを明示的に付与するまで、これらのプロジェクト管理者はこれを ServiceMeshControlPlane にポイントすることはできません。管理者は、以下のようにユーザーに mesh-user ユーザーロールを付与してメッシュにアクセスするパーミッションをユーザーに付与できます。
oc policy add-role-to-user -n <control-plane-namespace> --role-namespace <control-plane-namespace> mesh-user <user-name>.
$ oc policy add-role-to-user -n <control-plane-namespace> --role-namespace <control-plane-namespace> mesh-user <user-name>.
管理者はコントロールプレーンプロジェクトで mesh user ロールバインディングを変更し、アクセスが付与されたユーザーおよびグループを指定できます。ServiceMeshMember は、プロジェクトをそれが参照するコントロールプレーンプロジェト内の ServiceMeshMemberRoll に追加します。
mesh-users ロールバインディングは、管理者が ServiceMeshControlPlane リソースを作成した後に自動的に作成されます。管理者は以下のコマンドを使用してロールをユーザーに追加できます。
oc policy add-role-to-user
$ oc policy add-role-to-user
管理者は、ServiceMeshControlPlane リソースを作成する前に、mesh-user ロールバインディングを作成することもできます。たとえば、管理者は ServiceMeshControlPlane リソースと同じ oc apply 操作でこれを作成できます。
この例では、alice のロールバインディングを追加します。
3.2.1.7. サービスメッシュからのプロジェクトの追加または削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、Web コンソールを使用して既存の Service Mesh ServiceMeshMemberRoll リソースを変更します。
-
任意の数のプロジェクトを追加できますが、プロジェクトは単一の
ServiceMeshMemberRollリソースしか属することができません。 -
ServiceMeshMemberRollリソースは、対応するServiceMeshControlPlaneリソースが削除されると削除されます。
3.2.1.7.1. Web コンソールからのメンバーロールの変更 リンクのコピーリンクがクリップボードにコピーされました!
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
-
既存の
ServiceMeshMemberRollリソース。 -
ServiceMeshMemberRollリソースを持つプロジェクトの名前。 - メッシュに/から追加または削除するプロジェクトの名前。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Operators
Installed Operators に移動します。 -
Project メニューをクリックし、一覧から
ServiceMeshControlPlaneがデプロイされているプロジェクト (例:istio-system) を選択します。 - Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member Roll タブをクリックします。
-
defaultリンクをクリックします。 - YAML タブをクリックします。
-
YAML を変更して、プロジェクトをメンバーとして追加または削除します。任意の数のプロジェクトを追加できますが、プロジェクトは単一の
ServiceMeshMemberRollリソースしか属することができません。 - Save をクリックします。
- Reload をクリックします。
3.2.1.7.2. CLI からのメンバーロールの変更 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順に従って、コマンドラインを使用して既存の Service Mesh Member Roll を変更します。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
-
既存の
ServiceMeshMemberRollリソース。 -
ServiceMeshMemberRollリソースを持つプロジェクトの名前。 - メッシュに/から追加または削除するプロジェクトの名前。
-
ocとして知られる OpenShift Container Platform コマンドラインインターフェース (CLI) にアクセスします。
手順
- OpenShift Container Platform CLI にログインします。
ServiceMeshMemberRollリソースを編集します。oc edit smmr -n <controlplane-namespace>
$ oc edit smmr -n <controlplane-namespace>Copy to Clipboard Copied! Toggle word wrap Toggle overflow YAML を変更して、プロジェクトをメンバーとして追加または削除します。任意の数のプロジェクトを追加できますが、プロジェクトは単一の
ServiceMeshMemberRollリソースしか属することができません。Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.2.1.8. Red Hat OpenShift Service Mesh メンバーロールの削除 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshMemberRoll リソースは、関連付けられた ServiceMeshControlPlane リソースを削除する際に自動的に削除されます。
3.2.2. アプリケーション Pod の更新 リンクのコピーリンクがクリップボードにコピーされました!
Operator をインストールする際に Automatic Approval Strategy を選択した場合には、Operator はコントロールプレーンを自動的に更新しますが、アプリケーションを更新しません。既存のアプリケーションは、引き続きメッシュの一部になり、それに応じて機能します。アプリケーション管理者は、サイドカーコンテナーをアップグレードするためにアプリケーションを再起動する必要があります。
デプロイメントで自動のサイドカーコンテナー挿入を使用する場合、アノテーションを追加または変更してデプロイメントの Pod テンプレートを更新することができます。以下のコマンドを実行して Pod を再デプロイします。
oc patch deployment/<deployment> -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
$ oc patch deployment/<deployment> -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
デプロイメントで自動のサイドカーコンテナー挿入を使用しない場合、デプロイメントまたは Pod で指定されたサイドカーコンテナーイメージを変更してサイドカーコンテナーを手動で更新する必要があります。
次のステップ
- Red Hat OpenShift Service Mesh インストールをカスタマイズします。
- Red Hat OpenShift Service Mesh でアプリケーションをデプロイする準備をします。