1.9. Service Mesh へのサービスの追加
プロジェクトにはサービスが含まれますが、そのプロジェクトを Service Mesh に追加していなければサービスは使用できません。
1.9.1. Service Mesh へのプロジェクトの追加
					Operator をインストールして ServiceMeshControlPlane リソースを作成した後、1 つ以上のプロジェクトを Service Mesh に追加します。
				
Red Hat OpenShift Service on AWS では、プロジェクトは基本的に、プロジェクトで使用できるユーザー ID の範囲などの追加のアノテーションを備えた Kubernetes 名前空間です。通常、Red Hat OpenShift Service on AWS Web コンソールではプロジェクトという用語が使用され、CLI では namespace という用語が使用されますが、この 2 つの用語は基本的に同義です。
Red Hat OpenShift Service on AWS Web コンソールまたは CLI を使用して、既存の Service Mesh にプロジェクトを追加できます。プロジェクトを Service Mesh に追加するには、次の 3 つの方法があります。
- 
							ServiceMeshMemberRollリソースでプロジェクト名を指定する方法。
- 
							ServiceMeshMemberRollリソースのspec.memberSelectorsフィールドでラベルセレクターを設定します。
- 
							プロジェクトで ServiceMeshMemberリソースを作成する方法。
					最初の方法を使用する場合は、ServiceMeshMemberRoll リソースを作成する必要があります。
				
1.9.2. Red Hat OpenShift Service Mesh メンバーロールの作成
					ServiceMeshMemberRoll は、Service Mesh コントロールプレーンに属するプロジェクトを一覧表示します。ServiceMeshMemberRoll に一覧表示されているプロジェクトのみがコントロールプレーンの影響を受けます。プロジェクトは、特定のコントロールプレーンのデプロイメント用にメンバーロールに追加するまで Service Mesh に属しません。
				
					istio-system など、ServiceMeshControlPlane と同じプロジェクトに、default という名前の ServiceMeshMemberRoll リソースを作成する必要があります。
				
1.9.2.1. Web コンソールからのメンバーロールの作成
						Web コンソールを使用して 1 つ以上のプロジェクトを Service Mesh メンバーロールに追加します。この例では、istio-system が Service Mesh コントロールプレーンプロジェクトの名前となります。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- Service Mesh に追加する既存プロジェクトの一覧。
手順
- Red Hat OpenShift Service on AWS Web コンソールにログインします。
- メッシュのサービスがない場合や、ゼロから作業を開始する場合は、アプリケーションのプロジェクトを作成します。これは、Service Mesh コントロールプレーンをインストールしたプロジェクトとは異なる必要があります。 - 
										Home Projects に移動します。 
- Name フィールドに名前を入力します。
- Create をクリックします。
 
- 
										Home 
- 
								Operators Installed Operators に移動します。 
- 
								Project メニューをクリックし、リストから ServiceMeshControlPlaneリソースがデプロイされているプロジェクト (例:istio-system) を選択します。
- Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member Roll タブをクリックします。
- Create ServiceMeshMemberRoll をクリックします。
- 
								Members をクリックし、Value フィールドにプロジェクトの名前を入力します。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つの ServiceMeshMemberRollリソースにしか属することができません。
- Create をクリックします。
1.9.2.2. CLI からのメンバーロールの作成
						コマンドラインからプロジェクトを ServiceMeshMemberRoll に追加します。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- Service Mesh に追加するプロジェクトの一覧。
- 
								OpenShift CLI (oc) へのアクセスがある。
手順
- Red Hat OpenShift Service on AWS CLI にログインします。 - oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443 - $ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- メッシュのサービスがない場合や、ゼロから作業を開始する場合は、アプリケーションのプロジェクトを作成します。これは、Service Mesh コントロールプレーンをインストールしたプロジェクトとは異なる必要があります。 - oc new-project <your-project> - $ oc new-project <your-project>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- プロジェクトをメンバーとして追加するには、以下の YAML の例を変更します。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つの - ServiceMeshMemberRollリソースにしか属することができません。この例では、- istio-systemが Service Mesh コントロールプレーンプロジェクトの名前となります。- servicemeshmemberroll-default.yaml の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、 - istio-systemnamespace に- ServiceMeshMemberRollリソースをアップロードおよび作成します。- oc create -n istio-system -f servicemeshmemberroll-default.yaml - $ oc create -n istio-system -f servicemeshmemberroll-default.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、 - ServiceMeshMemberRollが正常に作成されていることを確認します。- oc get smmr -n istio-system default - $ oc get smmr -n istio-system default- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - STATUS列が- Configuredの場合、インストールは正常に終了しています。
1.9.3. ServiceMeshMemberRoll リソースを使用したプロジェクトの追加について
					ServiceMeshMemberRoll リソースを使用するのが、プロジェクトを Service Mesh に追加する最も簡単な方法です。プロジェクトを追加するには、ServiceMeshMemberRoll リソースの spec.members フィールドにプロジェクト名を指定します。ServiceMeshMemberRoll リソースは、ServiceMeshControlPlane リソースによって制御されるプロジェクトを指定します。
				
						この方法を使用してプロジェクトを追加するには、追加するプロジェクトの servicemeshmemberrolls 権限と update pods 権限をユーザーが持っている必要があります。
					
- Service Mesh に追加するアプリケーション、ワークロード、またはサービスがすでにある場合は、次を参照してください。 - 
									Web コンソールで ServiceMeshMemberRollリソースを使用してメッシュにプロジェクトを追加または削除する
- 
									CLI で ServiceMeshMemberRollリソースを使用してメッシュにプロジェクトを追加または削除する
 
- 
									Web コンソールで 
- 
							あるいは、Bookinfo というサンプルアプリケーションをインストールして ServiceMeshMemberRollリソースに追加するには、Bookinfo サンプルアプリケーションのチュートリアルを参照してください。
1.9.3.1. Web コンソールで ServiceMeshMemberRoll リソースを使用してメッシュにプロジェクトを追加または削除する
						Red Hat OpenShift Service on AWS Web コンソールで ServiceMeshMemberRoll リソースを使用して、メッシュにプロジェクトを追加または削除できます。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つのメッシュにしか属することができません。
					
						ServiceMeshMemberRoll リソースは、対応する ServiceMeshControlPlane リソースが削除されると削除されます。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- 
								既存の ServiceMeshMemberRollリソース。
- 
								ServiceMeshMemberRollリソースを持つプロジェクトの名前。
- メッシュに追加する、またはメッシュから削除するプロジェクトの名前。
手順
- Red Hat OpenShift Service on AWS Web コンソールにログインします。
- 
								Operators Installed Operators に移動します。 
- 
								Project メニューをクリックし、リストから ServiceMeshControlPlaneリソースがデプロイされているプロジェクトを選択します。たとえば、istio-systemです。
- Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member Roll タブをクリックします。
- 
								defaultリンクをクリックします。
- YAML タブをクリックします。
- YAML を変更してプロジェクトをメンバーとして追加します (またはプロジェクトを削除して既存メンバーを削除します)。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つの - ServiceMeshMemberRollリソースにしか属することができません。- servicemeshmemberroll-default.yaml の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Save をクリックします。
- Reload をクリックします。
1.9.3.2. CLI で ServiceMeshMemberRoll リソースを使用してメッシュにプロジェクトを追加または削除する
						CLI で ServiceMeshMemberRoll リソースを使用して、1 つ以上のプロジェクトをメッシュに追加できます。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つのメッシュにしか属することができません。
					
						ServiceMeshMemberRoll リソースは、対応する ServiceMeshControlPlane リソースが削除されると削除されます。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- 
								既存の ServiceMeshMemberRollリソース。
- 
								ServiceMeshMemberRollリソースを持つプロジェクトの名前。
- メッシュに追加する、またはメッシュから削除するプロジェクトの名前。
- 
								OpenShift CLI (oc) へのアクセスがある。
手順
- Red Hat OpenShift Service on AWS CLI にログインします。
- ServiceMeshMemberRollリソースを編集します。- oc edit smmr -n <controlplane-namespace> - $ oc edit smmr -n <controlplane-namespace>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- YAML を変更して、プロジェクトをメンバーとして追加または削除します。任意の数のプロジェクトを追加できますが、プロジェクトは 1 つの - ServiceMeshMemberRollリソースにしか属することができません。- servicemeshmemberroll-default.yaml の例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- ファイルを保存して、エディターを終了します。
1.9.4. ServiceMeshMember リソースを使用したプロジェクトの追加について
					ServiceMeshMember リソースを使用すると、ServiceMeshMemberRoll リソースを変更せずにプロジェクトを Service Mesh に追加できます。プロジェクトを追加するには、Service Mesh に追加するプロジェクトに ServiceMeshMember リソースを作成します。Service Mesh Operator が ServiceMeshMember オブジェクトを処理すると、ServiceMeshMemberRoll リソースの status.members リストにプロジェクトが表示されます。次に、プロジェクトに存在するサービスがメッシュで利用可能になります。
				
					メッシュ管理者は、各メッシュユーザーに ServiceMeshMember リソースの ServiceMeshControlPlane リソースを参照する権限を付与する必要があります。この権限を設定すると、メッシュユーザーが Service Mesh プロジェクトまたは ServiceMeshMemberRoll リソースへの直接アクセス権を持っていない場合でも、メッシュユーザーはプロジェクトをメッシュに追加できます。詳細は、Red Hat OpenShift Service Mesh メンバーの作成を参照してください。
				
1.9.4.1. Web コンソールで ServiceMeshMember リソースを使用してメッシュにプロジェクトを追加
						Red Hat OpenShift Service on AWS Web コンソールで ServiceMeshMember リソースを使用して、1 つ以上のプロジェクトをメッシュに追加できます。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている。
- 
								ServiceMeshControlPlaneリソースの名前と、リソースが属するプロジェクトの名前はわかっています。
- メッシュに追加するプロジェクトの名前はわかっています。
- 
								Service Mesh 管理者は、Service Mesh へのアクセスを明示的に付与する必要があります。管理者は、RoleBindingまたはClusterRoleBindingを使用してmesh-userロールをユーザーに割り当てて、メッシュにアクセスする権限を付与できます。詳細は、Red Hat OpenShift Service Mesh メンバーの作成 を参照してください。
手順
- Red Hat OpenShift Service on AWS Web コンソールにログインします。
- 
								Operators Installed Operators に移動します。 
- 
								Project メニューをクリックし、ドロップダウンリストからメッシュに追加するプロジェクトを選択します。たとえば、istio-systemです。
- Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member タブをクリックします。
- Create ServiceMeshMember をクリックします。
- 
								ServiceMeshMemberのデフォルト名を許可します。
- クリックして ControlPlaneRef を展開します。
- 
								Namespace フィールドで、ServiceMeshControlPlaneリソースが属するプロジェクトを選択します。たとえば、istio-systemです。
- 
								Name フィールドに、この namespace が属する ServiceMeshControlPlaneリソースの名前を入力します。たとえば、basicです。
- Create をクリックします。
検証
- 次の手順を使用して、 - ServiceMeshMemberリソースが作成され、プロジェクトがメッシュに追加されたことを確認します。- 
										リソース名 (例: default) をクリックします。
- 画面の最後に表示される Conditions セクションを表示します。
- Reconciledおよび- Readyの条件の- Statusが- Trueであることを確認します。- Statusが- Falseの場合は、- Reason列および- Message列で詳細を確認してください。
 
- 
										リソース名 (例: 
1.9.4.2. CLI で ServiceMeshMember リソースを使用してメッシュにプロジェクトを追加する
						CLI で ServiceMeshMember リソースを使用して、1 つ以上のプロジェクトをメッシュに追加できます。
					
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている。
- 
								ServiceMeshControlPlaneリソースの名前と、それが属するプロジェクトの名前はわかっています。
- メッシュに追加するプロジェクトの名前はわかっています。
- 
								Service Mesh 管理者は、Service Mesh へのアクセスを明示的に付与する必要があります。管理者は、RoleBindingまたはClusterRoleBindingを使用してmesh-userロールをユーザーに割り当てて、メッシュにアクセスする権限を付与できます。詳細は、Red Hat OpenShift Service Mesh メンバーの作成 を参照してください。
手順
- Red Hat OpenShift Service on AWS CLI にログインします。
- ServiceMeshMemberマニフェストの YAML ファイルを作成します。マニフェストは、- istio-systemnamespace にデプロイされた- ServiceMeshControlPlaneリソースが作成した Service Mesh に- my-applicationプロジェクトを追加します。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- YAML ファイルを適用して - ServiceMeshMemberリソースを作成します。- oc apply -f <file-name> - $ oc apply -f <file-name>- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
検証
- 次のコマンドを実行して、namespace がメッシュに含まれていることを確認します。 - READY列に- Trueの値が表示されていることを確認します。- oc get smm default -n my-application - $ oc get smm default -n my-application- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - NAME CONTROL PLANE READY AGE default istio-system/basic True 2m11s - NAME CONTROL PLANE READY AGE default istio-system/basic True 2m11s- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- または、 - ServiceMeshMemberRollリソースを表示して、- my-applicationnamespace が- ServiceMeshMemberRollリソースの- status.membersフィールドと- status.configuredMembersフィールドに表示されることを確認します。- oc describe smmr default -n istio-system - $ oc describe smmr default -n istio-system- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 出力例 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
1.9.5. ラベルセレクターを使用したプロジェクトの追加について
					クラスター全体のデプロイメントの場合は、ラベルセレクターを使用してプロジェクトをメッシュに追加できます。ServiceMeshMemberRoll リソースで指定されたラベルセレクターを使用すると、Service Mesh Operator は、namespace ラベルに基づいてメッシュに namespace を追加またはメッシュから namespace を削除できます。単一のラベルセレクターを指定するために使用できる他の標準的な Red Hat OpenShift Service on AWS リソースとは異なり、ServiceMeshMemberRoll リソースを使用して複数のラベルセレクターを指定できます。
				
					namespace のラベルが ServiceMeshMemberRoll リソースで指定されたセレクターのいずれかに一致する場合、その namespace はメッシュに含まれます。
				
Red Hat OpenShift Service on AWS では、プロジェクトは基本的に、プロジェクトで使用できるユーザー ID の範囲などの追加のアノテーションを備えた Kubernetes 名前空間です。通常、Red Hat OpenShift Service on AWS Web コンソールでは プロジェクト という用語が使用され、CLI では 名前空間 という用語が使用されますが、この 2 つの用語は基本的に同義です。
1.9.5.1. Web コンソールでラベルセレクターを使用してメッシュにプロジェクトを追加する
ラベルセレクターを使用して、Red Hat OpenShift Service on AWS Web コンソールで Service Mesh にプロジェクトを追加できます。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている。
- 
								デプロイメントには既存の ServiceMeshMemberRollリソースがあります。
- 
								Red Hat OpenShift Service on AWS Web コンソールに、dedicated-adminロールを持つユーザーとしてログインしている。
手順
- 
								Operators Installed Operators に移動します。 
- 
								Project メニューをクリックし、ドロップダウンリストから ServiceMeshMemberRollリソースがデプロイされているプロジェクトを選択します。たとえば、istio-system です。
- Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member Roll タブをクリックします。
- Create ServiceMeshMember Roll をクリックします。
- 
								ServiceMeshMemberRollのデフォルト名を受け入れます。
- Labels フィールドにキーと値のペアを入力して、Service Mesh に含める namespace を識別するラベルを定義します。プロジェクト namespace にセレクターで指定されたラベルがある場合、プロジェクト namespace は Service Mesh に含まれます。両方のラベルを含める必要はありません。 - たとえば、 - mykey=myvalueと入力すると、このラベルを持つすべての namespace がメッシュの一部として含まれます。セレクターが一致を識別すると、プロジェクト namespace が Service Mesh に追加されます。- myotherkey=myothervalueと入力すると、このラベルを持つすべての namespace がメッシュの一部として含まれます。セレクターが一致を識別すると、プロジェクト namespace が Service Mesh に追加されます。
- Create をクリックします。
1.9.5.2. CLI でラベルセレクターを使用してメッシュにプロジェクトを追加する
ラベルセレクターを使用して、CLI でプロジェクトを Service Mesh に追加できます。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされている。
- 
								デプロイメントには既存の ServiceMeshMemberRollリソースがあります。
- 
								Red Hat OpenShift Service on AWS に、dedicated-adminロールを持つユーザーとしてログインしている。
手順
- Red Hat OpenShift Service on AWS CLI にログインします。
- ServiceMeshMemberRollリソースを編集します。- oc edit smmr default -n istio-system - $ oc edit smmr default -n istio-system- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - Service Mesh コントロールプレーンは、サービスが含まれるプロジェクトから分離されていれば、任意のプロジェクトにデプロイできます。 
- YAML ファイルを変更して、 - ServiceMeshMemberRollリソースの- spec.memberSelectorsフィールドに namespace ラベルセレクターを含めます。注記- matchLabelsフィールドを使用する代わりに、セレクターで- matchExpressionsフィールドを使用することもできます。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 1
- Service Mesh に含まれるプロジェクト namespace を識別するために使用されるラベルセレクターが含まれます。プロジェクト namespace にセレクターで指定されたラベルがある場合、プロジェクト namespace は Service Mesh に含まれます。プロジェクト namespace には両方のラベルを含める必要はありません。
- 2 3
- mykey=myvalueラベルを持つすべての namespace を指定します。セレクターが一致を識別すると、プロジェクト namespace が Service Mesh に追加されます。
- 4 5
- myotherkey=myothervalueラベルを持つすべての namespace を指定します。セレクターが一致を識別すると、プロジェクト namespace が Service Mesh に追加されます。
 
1.9.6. Bookinfo サンプルアプリケーション
Bookinfo サンプルアプリケーションを使用すると、Red Hat OpenShift Service on AWS 上の Red Hat OpenShift Service Mesh 2.6.7 のインストールをテストできます。
Bookinfo アプリケーションは、オンラインブックストアの単一カタログエントリーのように、書籍に関する情報を表示します。このアプリケーションでは、書籍の説明、書籍の詳細 (ISBN、ページ数その他の情報)、および書評のページが表示されます。
Bookinfo アプリケーションはこれらのマイクロサービスで構成されます。
- 
							productpageマイクロサービスは、detailsとreviewsマイクロサービスを呼び出して、ページを設定します。
- 
							detailsマイクロサービスには書籍の情報が含まれています。
- 
							reviewsマイクロサービスには、書評が含まれます。これはratingsマイクロサービスも呼び出します。
- 
							ratingsマイクロサービスには、書評を伴う書籍のランキング情報が含まれます。
reviews マイクロサービスには、以下の 3 つのバージョンがあります。
- 
							バージョン v1 は、ratingsサービスを呼び出しません。
- 
							バージョン v2 は、ratingsサービスを呼び出して、各評価を 1 から 5 の黒い星で表示します。
- 
							バージョン v3 は、ratingsサービスを呼び出して、各評価を 1 から 5 の赤い星で表示します。
1.9.6.1. Bookinfo アプリケーションのインストール
このチュートリアルでは、プロジェクトの作成、そのプロジェクトへの Bookinfo アプリケーションのデプロイ、Service Mesh での実行中のアプリケーションの表示を行い、サンプルアプリケーションを作成する方法を説明します。
前提条件
- Red Hat OpenShift Service on AWS 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 2.6.7 がインストールされている。
- 
								OpenShift CLI (oc) へのアクセスがある。
- 
								Red Hat OpenShift Service on AWS に、dedicated-adminロールを持つユーザーとしてログインしている。
							このセクションのコマンドは、Service Mesh コントロールプレーンプロジェクトが istio-system であると仮定します。コントロールプレーンを別の namespace にインストールしている場合は、実行する前にそれぞれのコマンドを編集します。
						
手順
- 
								Home Projects をクリックします。 
- Create Project をクリックします。
- Project Name として - infoを入力し、Display Name を入力します。その後、Description を入力し、Create をクリックします。- または、CLI からこのコマンドを実行して、 - infoプロジェクトを作成できます。- oc new-project info - $ oc new-project info- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 
								Operators Installed Operators をクリックします。 
- 
								プロジェクト メニューをクリックし、Service Mesh コントロールプレーンの namespace を使用します。この例では istio-systemを使用します。
- Red Hat OpenShift Service Mesh Operator をクリックします。
- Istio Service Mesh Member Roll タブをクリックします。 - Istio Service Mesh Member Roll がすでに作成されている場合は、名前をクリックしてから YAML タブをクリックし、YAML エディターを開きます。
- 
										ServiceMeshMemberRollを作成していない場合は、Create ServiceMeshMemberRoll をクリックします。
 
- Members をクリックし、Value フィールドにプロジェクトの名前を入力します。
- Create をクリックして、更新した Service Mesh Member Roll を保存します。 - または、以下のサンプルを YAML ファイルに保存します。 - Bookinfo ServiceMeshMemberRoll の例 (servicemeshmemberroll-default.yaml) - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、そのファイルをアップロードし、 - istio-systemnamespace に- ServiceMeshMemberRollリソースを作成します。この例では、- istio-systemが Service Mesh コントロールプレーンプロジェクトの名前となります。- oc create -n istio-system -f servicemeshmemberroll-default.yaml - $ oc create -n istio-system -f servicemeshmemberroll-default.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- 以下のコマンドを実行して、 - ServiceMeshMemberRollが正常に作成されていることを確認します。- oc get smmr -n istio-system -o wide - $ oc get smmr -n istio-system -o wide- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - STATUS列が- Configuredの場合、インストールは正常に終了しています。- NAME READY STATUS AGE MEMBERS default 1/1 Configured 70s ["info"] - NAME READY STATUS AGE MEMBERS default 1/1 Configured 70s ["info"]- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- CLI で `info` プロジェクトに Bookinfo アプリケーションをデプロイするには、 - bookinfo.yamlファイルを適用します。- oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/platform/kube/bookinfo.yaml - $ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/platform/kube/bookinfo.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下のような出力が表示されるはずです。 - Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- info-gateway.yamlファイルを適用して Ingress ゲートウェイを作成します。- oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/bookinfo-gateway.yaml - $ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/bookinfo-gateway.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下のような出力が表示されるはずです。 - gateway.networking.istio.io/info-gateway created virtualservice.networking.istio.io/info created - gateway.networking.istio.io/info-gateway created virtualservice.networking.istio.io/info created- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- GATEWAY_URLパラメーターの値を設定します。- export GATEWAY_URL=$(oc -n istio-system get route istio-ingressgateway -o jsonpath='{.spec.host}')- $ export GATEWAY_URL=$(oc -n istio-system get route istio-ingressgateway -o jsonpath='{.spec.host}')- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
1.9.6.2. デフォルトの宛先ルールの追加
Bookinfo アプリケーションを使用するには、先にデフォルトの宛先ルールを追加する必要があります。相互トランスポート層セキュリティー (TLS) 認証が有効かどうかによって、2 つの事前設定される YAML ファイルを使用できます。
手順
- 宛先ルールを追加するには、以下のいずれかのコマンドを実行します。 - 相互 TLS を有効にしていない場合: - oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all.yaml - $ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 相互 TLS を有効にしている場合: - oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all-mtls.yaml - $ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.6/samples/bookinfo/networking/destination-rule-all-mtls.yaml- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - 以下のような出力が表示されるはずです。 - destinationrule.networking.istio.io/productpage created destinationrule.networking.istio.io/reviews created destinationrule.networking.istio.io/ratings created destinationrule.networking.istio.io/details created - destinationrule.networking.istio.io/productpage created destinationrule.networking.istio.io/reviews created destinationrule.networking.istio.io/ratings created destinationrule.networking.istio.io/details created- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
1.9.6.3. Bookinfo インストールの検証
Bookinfo アプリケーションのサンプルが正常にデプロイされたことを確認するには、以下の手順を実行します。
前提条件
- Red Hat OpenShift Service Mesh がインストールされている。
- Bookinfo サンプルアプリケーションのインストール手順を実行します。
- 
								Red Hat OpenShift Service on AWS に、dedicated-adminロールを持つユーザーとしてログインしている。
CLI からの手順
- 以下のコマンドですべての Pod が準備状態にあることを確認します。 - oc get pods -n info - $ oc get pods -n info- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow - すべての Pod のステータスは - Runningである必要があります。以下のような出力が表示されるはずです。- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- 以下のコマンドを実行して、製品ページの URL を取得します。 - echo "http://$GATEWAY_URL/productpage" - echo "http://$GATEWAY_URL/productpage"- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
- Web ブラウザーで出力をコピーして貼り付けて、Bookinfo の製品ページがデプロイされていることを確認します。
Kiali Web コンソールからの手順
- Kiali Web コンソールのアドレスを取得します。 - Red Hat OpenShift Service on AWS Web コンソールにログインします。
- 
										Networking Routes に移動します。 
- Routes ページで、Namespace メニューから Service Mesh コントロールプレーンプロジェクトを選択します (例: - istio-system)。- Location 列には、各ルートのリンク先アドレスが表示されます。 
- Kiali の 場所 列のリンクをクリックします。
- Log In With OpenShift をクリックします。Kiali の 概要 画面には、各プロジェクトの namespace のタイルが表示されます。
 
- Kiali で、グラフ をクリックします。
- Namespace リストから info を選択し、Graph Type リストから App graph を選択します。
- Display メニューから Display idle nodes をクリックします。 - これにより、定義されているが要求を受信または送信していないノードが表示されます。アプリケーションが適切に定義されていることを確認できますが、要求トラフィックは報告されていません。 - 期間 メニューを使用して、期間を延ばして、古いトラフィックを取得できるようにします。
- Refresh Rate メニューを使用して、トラフィックを頻繁に更新するか、まったく更新しないようにします。
 
- Services、Workloads または Istio Config をクリックして、info コンポーネントのリストビューを表示し、それらが正常であることを確認します。
1.9.6.4. Bookinfo アプリケーションの削除
以下の手順で、Bookinfo アプリケーションを削除します。
前提条件
- Red Hat OpenShift Service on AWS 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 2.6.7 がインストールされている。
- 
								OpenShift CLI (oc) へのアクセスがある。
1.9.6.4.1. Bookinfo プロジェクトの削除
手順
- Red Hat OpenShift Service on AWS Web コンソールにログインします。
- 
									Home Projects をクリックします。 
- 
									infoメニュー をクリックしてから Delete Project をクリックします。 をクリックしてから Delete Project をクリックします。
- 確認ダイアログボックスに - infoと入力してから Delete をクリックします。- または、CLI を使用して次のコマンドを実行し、 - infoプロジェクトを作成できます。- oc delete project info - $ oc delete project info- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
1.9.6.4.2. Service Mesh Member Roll からの Bookinfo プロジェクトの削除
手順
- Red Hat OpenShift Service on AWS Web コンソールにログインします。
- 
									Operators Installed Operators をクリックします。 
- 
									Project メニューをクリックし、一覧から istio-systemを選択します。
- Red Hat OpenShift Service Mesh Operator の Provided APIS で、Istio Service Mesh Member Roll のリンクをクリックします。
- 
									ServiceMeshMemberRollメニュー をクリックし、Edit Service Mesh Member Roll を選択します。 をクリックし、Edit Service Mesh Member Roll を選択します。
- デフォルトの Service Mesh Member Roll YAML を編集し、members 一覧から - infoを削除します。- または、CLI を使用して次のコマンドを実行し、 - ServiceMeshMemberRollから- infoプロジェクトを削除できます。この例では、- istio-systemが Service Mesh コントロールプレーンプロジェクトの名前となります。- oc -n istio-system patch --type='json' smmr default -p '[{"op": "remove", "path": "/spec/members", "value":["'"info"'"]}]'- $ oc -n istio-system patch --type='json' smmr default -p '[{"op": "remove", "path": "/spec/members", "value":["'"info"'"]}]'- Copy to Clipboard Copied! - Toggle word wrap Toggle overflow 
 
- Save をクリックして、Service Mesh Member Roll を更新します。
1.9.7. 次のステップ
- インストールプロセスを続行するには、サイドカーインジェクションを有効化 を行う必要があります。
 
     
     
    