2.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 以降のデフォルト設定です。
前提条件
- Red Hat OpenShift Service Mesh のインストールの準備プロセスに従ってください。
- クラスター管理アクセス権限を持つアカウント。
2.2.1. OperatorHub からの Operator のインストール
サービスメッシュのインストールプロセスでは、OperatorHub を使用して openshift-operators
プロジェクト内に ServiceMeshControlPlane
カスタムリソース定義をインストールします。Red Hat OpenShift Service Mesh は、コントロールプレーンのデプロイメント、更新、および削除に関連する ServiceMeshControlPlane
を定義し、監視します。
Red Hat OpenShift Service Mesh 1.0.10 以降では、Red Hat OpenShift Service Mesh Operator がコントロールプレーンをインストールするには、Elasticsearch Operator、Jaeger Operator、および Kiali Operator をインストールをする必要があります。
2.2.1.1. Elasticsearch Operator のインストール
コントロールプレーンをインストールするには、Red Hat OpenShift Service Mesh Operator の Elasticsearch Operator をインストールする必要があります。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Catalog
OperatorHub に移動します。 - Elasticsearch とフィルターボックスに入力して、Elasticsearch Operator を検索します。
- Elasticsearch Operator をクリックし、Operator についての情報を表示します。
- Install をクリックします。
-
Create Operator Subscription ページで、All namespaces on the cluster (default) を選択します。これにより、Operator がデフォルトの
openshift-operators
プロジェクトにインストールされ、Operator はクラスター内のすべてのプロジェクトで利用可能になります。 - preview Update Channel を選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Subscription Overview ページには、Elasticsearch Operator のインストールの進捗状況が表示されます。
2.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 コンソールにログインします。
-
Catalog
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 のインストールの進捗状況が表示されます。
2.2.1.3. Kiali Operator のインストール
コントロールプレーンをインストールするには、Red Hat OpenShift Service Mesh Operator の Kiali Operator をインストールする必要があります。
Operator のコミュニティーバージョンはインストールしないでください。コミュニティー Operator はサポートされていません。
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Catalog
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 のインストールの進捗状況が表示されます。
2.2.1.4. Red Hat OpenShift Service Mesh Operator のインストール
前提条件
- OpenShift Container Platform Web コンソールへのアクセス。
- Elasticsearch Operator がインストールされていること。
- Jaeger Operator がインストールされていること。
- Kiali Operator がインストールされていること。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Catalog
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 をクリックします。
- 1.0 Update Channel を選択します。
Automatic Approval Strategy を選択します。
注記手動の承認ストラテジーには、Operator のインストールおよびサブスクリプションプロセスを承認するための適切な認証情報を持つユーザーが必要です。
- Subscribe をクリックします。
- Subscription Overview ページには、Red Hat OpenShift Service Mesh Operator のインストールの進捗状況が表示されます。
2.2.2. Red Hat OpenShift Service Mesh コントロールプレーンのデプロイ
OpenShift Container Platform Web コンソールまたは CLI を使用してサービスメッシュコントロールプレーンをデプロイすることができます。
2.2.2.1. Web コンソールを使用したコントロールプレーンのデプロイ
以下の手順に従って、Web コンソールを使用して Red Hat OpenShift Service Mesh コントロールプレーンをデプロイします。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされていること。
- Red Hat OpenShift Service Mesh のインストールのカスタマイズの手順を確認します。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
istio-system
という名前のプロジェクトを作成します。 -
Catalogs
Installed Operators に移動します。 - Red Hat OpenShift Service Mesh Operator をクリックします。
Provided APIs で、Operator は 2 つのリソースタイプを作成できます。
-
ServiceMeshControlPlane
リソース -
ServiceMeshMemberRoll
リソース
-
- Istio Service Mesh Plane で Create New をクリックします。
最小の
ServiceMeshControlPlane
テンプレートを変更します。注記コントロールプレーンおよびコントロールプレーンパラメーターをカスタマイズする詳細については、Red Hat OpenShift Service Mesh のインストールのカスタマイズを参照してください。
- Create をクリックしてコントロールプレーンを作成します。
- Operator は Pod、サービス、サービスメッシュコントロールプレーンコンポーネントを起動します。
- Istio Service Mesh Control Plane タブをクリックします。
- 新規コントロールプレーンの名前をクリックします。
- Resources タブをクリックして、Red Hat OpenShift Service Mesh コントロールプレーンリソース (Operator が作成し、設定したもの) を表示します。
2.2.2.2. CLI からのコントロールプレーンのデプロイ
以下の手順に従って、CLI を使用して Red Hat OpenShift Service Mesh コントロールプレーンをデプロイします。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされていること。
- Red Hat OpenShift Service Mesh のインストールのカスタマイズの手順を確認します。
-
oc
として知られる OpenShift Container Platform コマンドラインインターフェース (CLI) にアクセスします。
コントロールプレーンおよびコントロールプレーンパラメーターをカスタマイズする詳細については、Red Hat OpenShift Service Mesh のインストールのカスタマイズを参照してください。
手順
- OpenShift Container Platform CLI にログインします。
-
istio-installation.yaml
という名前のServiceMeshControlPlane
ファイルを作成します。 以下のコマンドを実行してコントロールプレーンをデプロイします。
$ oc create -n istio-system -f istio-installation.yaml
以下のコマンドを実行して、インストールプロセス時に Pod の進捗を確認します。
$ oc get pods -n istio-system -w
2.2.3. アプリケーション Pod の更新
Operator をインストールする際に Automatic Approval Strategy を選択した場合には、Operator はコントロールプレーンを自動的に更新しますが、アプリケーションを更新しません。既存のアプリケーションは、引き続きメッシュの一部になり、それに応じて機能します。アプリケーション管理者は、サイドカーコンテナーをアップグレードするためにアプリケーションを再起動する必要があります。
デプロイメントで自動のサイドカーコンテナー挿入を使用する場合、アノテーションを追加または変更してデプロイメントの Pod テンプレートを更新することができます。以下のコマンドを実行して Pod を再デプロイします。
$ oc patch deployment/<deployment> -p '{"spec":{"template":{"metadata":{"annotations":{"kubectl.kubernetes.io/restartedAt": "'`date -Iseconds`'"}}}}}'
デプロイメントで自動のサイドカーコンテナー挿入を使用しない場合、デプロイメントまたは Pod で指定されたサイドカーコンテナーイメージを変更してサイドカーコンテナーを手動で更新する必要があります。
2.2.4. Red Hat OpenShift Service Mesh メンバーロールの設定
ServiceMeshControlPlane
と同じプロジェクトに、サービスメッシュに関連付けられた default
という名前の ServiceMeshMemberRoll
リソースを作成する必要があります。
Container Network Interface (CNI) プラグインを有効にすると、手動のサイドカーコンテナー挿入が機能しますが、Pod が ServiceMeshMemberRoll
リソースで指定されていない限り、Pod はコントロールプレーンと通信できません。
メンバープロジェクトは、サービスメッシュコントロールプレーンのインストールが成功した場合にのみ更新されます。
-
任意の数のプロジェクトを追加できますが、プロジェクトは単一の
ServiceMeshMemberRoll
リソースしか属することができません。
ServiceMeshMemberRoll
リソースは、対応する ServiceMeshControlPlane
リソースが削除されると削除されます。
2.2.4.1. OpenShift Container Platform Web コンソールからのメンバーロールの設定
以下の手順に従って、Web コンソールを使用して Bookinfo プロジェクトをサービスメッシュメンバーロールに追加します。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Home
Projects をクリックします。 - Create Project をクリックします。
- Project Name (例: bookinfo)、Display Name、Description を入力し、Create をクリックします。
-
Catalog
Installed Operators をクリックします。 -
Project メニューをクリックし、一覧から
istio-system
を選択します。 - Red Hat OpenShift Service Mesh Operator の Provided API で、Istio Service Mesh Member Roll リンクをクリックします。
All Instances をクリックし、Create New をクリックしてから Create Istio Service Mesh Member Roll をクリックします。
注記Operator がプロジェクトの作成を終了するまでに少し時間がかかる場合があります。そのため、Web コンソールに Create Istio Service Mesh Member Roll ボタンが表示されるように画面を更新する必要がある場合があります。
- デフォルトの Service Mesh Member Roll YAML を編集し、bookinfo を members 一覧に追加します。
- Create をクリックして、更新した Service Mesh Member Roll を保存します。
2.2.4.2. CLI からのメンバーロールの設定
この例では、CLI から Bookinfo プロジェクトをサービスメッシュに追加しています。
前提条件
- Service Mesh Operator がインストールされ、検証されていること。
-
ServiceMeshMemberRoll
リソースを持つプロジェクトの名前。 -
oc
として知られる OpenShift Container Platform コマンドラインインターフェース (CLI) へのアクセス。
手順
- OpenShift Container Platform CLI にログインします。
-
ServiceMeshControlPlane
リソースと同じプロジェクトにServiceMeshMemberRoll
リソースを作成します。 -
リソースに
default
という名前を付けます。 Bookinfo プロジェクトを
ServiceMeshMemberRoll
のメンバー一覧に追加します。この例では、bookinfo
プロジェクトはServiceMeshMembereRoll
リソースと同じプロジェクトにデプロイされているサービスメッシュに参加しています。apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default spec: members: # a list of projects joined into the service mesh - bookinfo
次のステップ
- Red Hat OpenShift Service Mesh インストールをカスタマイズします。
- Red Hat OpenShift Service Mesh でアプリケーションをデプロイする準備をします。