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.3. アプリケーションの例
Bookinfo のサンプルアプリケーションでは、OpenShift Container Platform での Red Hat OpenShift Service Mesh 1.0.10 のインストールをテストすることができます。
Red Hat では、Bookinfo アプリケーションをサポートしていません。
3.3.1. Bookinfo アプリケーション リンクのコピーリンクがクリップボードにコピーされました!
アップストリームの Istio プロジェクトには Bookinfo というチュートリアルのサンプルがあり、これは各種の Istio 機能を示すために使用される 4 つの異なるマイクロサービスで構成されています。Bookinfo アプリケーションは、オンラインブックストアの単一カタログエントリーのように、書籍に関する情報を表示します。ページに表示される内容は、書籍の説明、書籍の詳細 (ISBN、ページ数その他の情報)、および書評です。
Bookinfo アプリケーションはこれらのマイクロサービスで構成されます。
-
productpage
マイクロサービスは、details
とreviews
マイクロサービスを呼び出して、ページを設定します。 -
details
マイクロサービスには書籍の情報が含まれています。 -
reviews
マイクロサービスには、書評が含まれます。これはratings
マイクロサービスも呼び出します。 -
ratings
マイクロサービスには、書評を伴う書籍のランキング情報が含まれます。
reviews マイクロサービスには、以下の 3 つのバージョンがあります。
-
バージョン v1 は、
ratings
サービスを呼び出しません。 -
バージョン v2 は、
ratings
サービスを呼び出して、各評価を 1 から 5 の黒い星で表示します。 -
バージョン v3 は、
ratings
サービスを呼び出して、各評価を 1 から 5 の赤い星で表示します。
3.3.2. Bookinfo アプリケーションのインストール リンクのコピーリンクがクリップボードにコピーされました!
このチュートリアルでは、Bookinfo プロジェクトの作成、Bookinfo アプリケーションのデプロイ、および Service Mesh 1.0.10 を含む OpenShift Container Platform での Bookinfo の実行について説明します。
前提条件
- OpenShift Container Platform 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 1.0.10 がインストールされている。
-
oc
として知られる OpenShift Container Platform コマンドラインインターフェース (CLI) へのアクセス。
Red Hat OpenShift Service Mesh は、アップストリームの Istio プロジェクトとは別の自動挿入を実装します。そのため、この手順では Red Hat OpenShift Service Mesh の Istio サイドカーコンテナーの自動挿入を有効にするためのアノテーションが付けられた bookinfo.yaml
ファイルのバージョンを使用します。
手順
- cluster-admin 権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインします。
-
Home
Projects をクリックします。 - Create Project をクリックします。
Project Name として
bookinfo
を入力し、Display Name を入力します。その後、Description を入力し、Create をクリックします。または、CLI からこのコマンドを実行して、
bookinfo
プロジェクトを作成できます。oc new-project bookinfo
$ oc new-project bookinfo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
Catalog
Installed Operators をクリックします。 -
Project メニューをクリックし、コントロールプレーンの namespace を使用します。この例では
istio-system
を使用します。 - Red Hat OpenShift Service Mesh Operator をクリックします。
Istio Service Mesh Member Roll リンクをクリックします。
- Istio Service Mesh Member Roll がすでに作成されている場合には、名前をクリックしてから YAML タブをクリックし、YAML エディターを開きます。
Istio Service Mesh Member Roll を作成していない場合は、Create Service Mesh Member Roll をクリックします。
注記Istio Service Mesh Member Roll を編集するには cluster-admin 権限が必要になります。
デフォルトの Service Mesh Member Roll YAML を編集し、
bookinfo
を members 一覧に追加します。Copy to Clipboard Copied! Toggle word wrap Toggle overflow または、CLI からこのコマンドを実行して、
bookinfo
プロジェクトをServiceMeshMemberRoll
に追加できます。<control plane project>
をコントロールプレーンプロジェクトの名前に置き換えます。oc -n <control plane project> patch --type='json' smmr default -p '[{"op": "add", "path": "/spec/members", "value":["'"bookinfo"'"]}]'
$ oc -n <control plane project> patch --type='json' smmr default -p '[{"op": "add", "path": "/spec/members", "value":["'"bookinfo"'"]}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Create をクリックして、更新した Service Mesh Member Roll を保存します。
CLI で 'bookinfo' プロジェクトに Bookinfo アプリケーションをデプロイするには、
bookinfo.yaml
ファイルを適用します。oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo.yaml
$ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow bookinfo-gateway.yaml
ファイルを適用して Ingress ゲートウェイを作成します。oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo-gateway.yaml
$ oc apply -n bookinfo -f https://raw.githubusercontent.com/Maistra/bookinfo/maistra-1.0/bookinfo-gateway.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow GATEWAY_URL
パラメーターの値を設定します。注記<control_plane_project>
をコントロールプレーンプロジェクトの名前に置き換えます。export GATEWAY_URL=$(oc -n <control_plane_project> get route istio-ingressgateway -o jsonpath='{.spec.host}')
$ export GATEWAY_URL=$(oc -n <control_plane_project> get route istio-ingressgateway -o jsonpath='{.spec.host}')
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.3. デフォルトの宛先ルールの追加 リンクのコピーリンクがクリップボードにコピーされました!
Bookinfo アプリケーションを使用するには、デフォルトの宛先ルールを追加する必要があります。相互トランスポート層セキュリティー (TLS) 認証を有効にしたかどうかによって、2 つの事前設定される YAML ファイルを使用できます。
手順
宛先ルールを追加するには、以下のいずれかのコマンドを実行します。
相互 TLS を有効にしていない場合:
oc apply -n bookinfo -f https://raw.githubusercontent.com/istio/istio/release-1.1/samples/bookinfo/networking/destination-rule-all.yaml
$ oc apply -n bookinfo -f https://raw.githubusercontent.com/istio/istio/release-1.1/samples/bookinfo/networking/destination-rule-all.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 相互 TLS を有効にしている場合:
oc apply -n bookinfo -f https://raw.githubusercontent.com/istio/istio/release-1.1/samples/bookinfo/networking/destination-rule-all-mtls.yaml
$ oc apply -n bookinfo -f https://raw.githubusercontent.com/istio/istio/release-1.1/samples/bookinfo/networking/destination-rule-all-mtls.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.4. Bookinfo インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
アプリケーションを設定する前に、正しくデプロイされていることを確認します。
前提条件
- OpenShift Container Platform 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 1.0.10 がインストールされている。
-
oc
として知られる OpenShift Container Platform コマンドラインインターフェース (CLI) へのアクセス。
手順
- OpenShift Container Platform CLI にログインします。
以下のコマンドを実行して、Bookinfo がデプロイされていることを確認します。
curl -o /dev/null -s -w "%{http_code}\n" http://$GATEWAY_URL/productpage
$ curl -o /dev/null -s -w "%{http_code}\n" http://$GATEWAY_URL/productpage
Copy to Clipboard Copied! Toggle word wrap Toggle overflow -
または、ブラウザーで
http://$GATEWAY_URL/productpage
を開くことができます。 以下のコマンドでもすべての Pod が準備状態にあることを確認できます。
oc get pods -n bookinfo
$ oc get pods -n bookinfo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
-
または、ブラウザーで
3.3.5. Bookinfo アプリケーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順で、Bookinfo アプリケーションを削除します。
前提条件
- OpenShift Container Platform 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 1.0.10 がインストールされている。
-
oc
として知られる OpenShift Container Platform コマンドラインインターフェース (CLI) へのアクセス。
3.3.5.1. Bookinfo プロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Home
Projects をクリックします。 -
bookinfo
メニューでをクリックしてから、Delete Project をクリックします。
確認ダイアログボックスに
bookinfo
と入力してから Delete をクリックします。または、CLI からこのコマンドを実行して、
bookinfo
プロジェクトを作成できます。oc delete project bookinfo
$ oc delete project bookinfo
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
3.3.5.2. Service Mesh Member Roll からの Bookinfo プロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Catalog
Installed Operators をクリックします。 -
Project メニューをクリックし、一覧から
openshift-operators
を選択します。 - Red Hat OpenShift Service Mesh Operator の Provided APIS で、Istio Service Mesh Member Roll リンクをクリックします。
-
ServiceMeshMemberRoll
メニューのをクリックし、Service Mesh Member Roll を選択します。
デフォルトの Service Mesh Member Roll YAML を編集し、members 一覧から
bookinfo
を削除します。または、CLI からこのコマンドを実行して、
ServiceMeshMemberRoll
からbookinfo
プロジェクトを削除できます。<control plane project>
をコントロールプレーンプロジェクトの名前に置き換えます。oc -n <control plane project> patch --type='json' smmr default -p '[{"op": "remove", "path": "/spec/members", "value":["'"bookinfo"'"]}]'
$ oc -n <control plane project> patch --type='json' smmr default -p '[{"op": "remove", "path": "/spec/members", "value":["'"bookinfo"'"]}]'
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
- Save をクリックして、Service Mesh Member Roll を更新します。