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.1.9. サービスメッシュへのサービスの追加
Operator および ServiceMeshControlPlane リソースのインストール後に、ServiceMeshMemberRoll リソースを作成し、コンテンツが置かれている namespace を指定して、アプリケーション、ワークロード、またはサービスをメッシュに追加します。ServiceMeshMemberRoll リソースに追加するアプリケーション、ワークロード、またはサービスがすでにある場合には、以下の手順に従います。または、Bookinfo と呼ばれるサンプルアプリケーションをインストールして ServiceMeshMemberRoll リソースに追加するには、Bookinfo サンプルアプリケーション のインストールに関するチュートリアルまで進み、アプリケーションが Red Hat OpenShift Service Mesh でどのように機能するかを確認します。
ServiceMeshMemberRoll リソースに記載される項目は、ServiceMeshControlPlane リソースで管理されるアプリケーションおよびワークフローです。コントロールプレーン (Service Mesh Operator、Istiod、および ServiceMeshControlPlane) およびデータプレーン (アプリケーションおよび Envoy プロキシー) は別々の namespace にある必要があります。
namespace を ServiceMeshMemberRoll に追加した後に、その namespace のサービスまたは Pod へのアクセスはサービスメッシュ外の呼び出し元からアクセスできません。
1.9.1. Red Hat OpenShift Service Mesh メンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
ServiceMeshMemberRoll は、Service Mesh コントロールプレーンに属するプロジェクトを一覧表示します。ServiceMeshMemberRoll に一覧表示されているプロジェクトのみがコントロールプレーンの影響を受けます。プロジェクトは、特定のコントロールプレーンのデプロイメント用にメンバーロールに追加するまでサービスメッシュに属しません。
istio-system など、ServiceMeshControlPlane と同じプロジェクトに、 default という名前の ServiceMeshMemberRoll リソースを作成する必要があります。
1.9.1.1. Web コンソールからのメンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して 1 つ以上のプロジェクトを Service Mesh メンバーロールに追加します。この例では、istio-system が Service Mesh コントロールプレーンプロジェクトの名前です。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- サービスメッシュに追加する既存プロジェクトの一覧。
手順
- OpenShift Container Platform 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 フィールドにプロジェクトの名前を入力します。任意の数のプロジェクトを追加できますが、プロジェクトは 単一 の
ServiceMeshMemberRollリソースしか属することができません。 - Create をクリックします。
1.9.1.2. CLI からのメンバーロールの作成 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインからプロジェクトを ServiceMeshMemberRoll に追加します。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
- サービスメッシュに追加するプロジェクトの一覧。
-
OpenShift CLI (
oc) へのアクセスがある。
手順
OpenShift Container Platform CLI にログインします。
oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443
$ oc login --username=<NAMEOFUSER> https://<HOSTNAME>:6443Copy 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 の例を変更します。任意の数のプロジェクトを追加できますが、プロジェクトは 単一 の
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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 以下のコマンドを実行して、
ServiceMeshMemberRollが正常に作成されていることを確認します。oc get smmr -n istio-system default
$ oc get smmr -n istio-system defaultCopy to Clipboard Copied! Toggle word wrap Toggle overflow STATUS列がConfiguredの場合には、インストールは正常に終了しています。
1.9.2. サービスメッシュからのプロジェクトの追加または削除 リンクのコピーリンクがクリップボードにコピーされました!
Web コンソールを使用して既存の Service Mesh ServiceMeshMemberRoll リソースを追加または削除できます。
-
任意の数のプロジェクトを追加できますが、プロジェクトは 単一 の
ServiceMeshMemberRollリソースしか属することができません。 -
ServiceMeshMemberRollリソースは、対応するServiceMeshControlPlaneリソースが削除されると削除されます。
1.9.2.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 をクリックします。
1.9.2.2. CLI を使用したメンバーロールからのプロジェクトの追加または削除 リンクのコピーリンクがクリップボードにコピーされました!
コマンドラインを使用して既存の Service Mesh Member Roll を変更できます。
前提条件
- Red Hat OpenShift Service Mesh Operator がインストールされ、検証されていること。
-
既存の
ServiceMeshMemberRollリソース。 -
ServiceMeshMemberRollリソースを持つプロジェクトの名前。 - メッシュに/から追加または削除するプロジェクトの名前。
-
OpenShift CLI (
oc) へのアクセスがある。
手順
- 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リソースしか属することができません。servicemeshmemberroll-default.yaml の例
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.3. Bookinfo のサンプルアプリケーション リンクのコピーリンクがクリップボードにコピーされました!
Bookinfo のサンプルアプリケーションでは、OpenShift Container Platform での Red Hat OpenShift Service Mesh 2.3.2 のインストールをテストすることができます。
Bookinfo アプリケーションは、オンラインブックストアの単一カタログエントリーのように、書籍に関する情報を表示します。このアプリケーションでは、書籍の説明、書籍の詳細 (ISBN、ページ数その他の情報)、および書評のページが表示されます。
Bookinfo アプリケーションはこれらのマイクロサービスで設定されます。
-
productpageマイクロサービスは、detailsとreviewsマイクロサービスを呼び出して、ページを設定します。 -
detailsマイクロサービスには書籍の情報が含まれています。 -
reviewsマイクロサービスには、書評が含まれます。これはratingsマイクロサービスも呼び出します。 -
ratingsマイクロサービスには、書評を伴う書籍のランキング情報が含まれます。
reviews マイクロサービスには、以下の 3 つのバージョンがあります。
-
バージョン v1 は、
ratingsサービスを呼び出しません。 -
バージョン v2 は、
ratingsサービスを呼び出して、各評価を 1 から 5 の黒い星で表示します。 -
バージョン v3 は、
ratingsサービスを呼び出して、各評価を 1 から 5 の赤い星で表示します。
1.9.3.1. Bookinfo アプリケーションのインストール リンクのコピーリンクがクリップボードにコピーされました!
このチュートリアルでは、プロジェクトの作成、そのプロジェクトへの Bookinfo アプリケーションのデプロイ、Service Mesh での実行中のアプリケーションの表示を行い、サンプルアプリケーションを作成する方法を説明します。
前提条件:
- OpenShift Container Platform 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 2.3.2 がインストールされている。
-
OpenShift CLI (
oc) へのアクセスがある。 -
cluster-adminロールを持つアカウントがある。
Bookinfo サンプルアプリケーションは、IBM Z および IBM Power Systems にインストールできません。
このセクションのコマンドは、Service Mesh コントロールプレーンプロジェクトが istio-system であると仮定します。コントロールプレーンを別の namespace にインストールしている場合は、実行する前にそれぞれのコマンドを編集します。
手順
-
cluster-admin 権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合)
dedicated-adminロールがあるアカウント。 -
Home
Projects をクリックします。 - Create Project をクリックします。
Project Name として
infoを入力し、Display Name を入力します。その後、Description を入力し、Create をクリックします。または、CLI からこのコマンドを実行して、
infoプロジェクトを作成できます。oc new-project info
$ oc new-project infoCopy 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.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow
以下のコマンドを実行して、
ServiceMeshMemberRollが正常に作成されていることを確認します。oc get smmr -n istio-system -o wide
$ oc get smmr -n istio-system -o wideCopy 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.3/samples/bookinfo/platform/kube/bookinfo.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/platform/kube/bookinfo.yamlCopy 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.3/samples/bookinfo/networking/bookinfo-gateway.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/networking/bookinfo-gateway.yamlCopy 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 createdCopy 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.3.2. デフォルトの宛先ルールの追加 リンクのコピーリンクがクリップボードにコピーされました!
Bookinfo アプリケーションを使用するには、先にデフォルトの宛先ルールを追加する必要があります。相互トランスポート層セキュリティー (TLS) 認証を有効にしたかどうかによって、2 つの事前設定される YAML ファイルを使用できます。
手順
宛先ルールを追加するには、以下のいずれかのコマンドを実行します。
相互 TLS を有効にしていない場合:
oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/networking/destination-rule-all.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/networking/destination-rule-all.yamlCopy to Clipboard Copied! Toggle word wrap Toggle overflow 相互 TLS を有効にしている場合:
oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/networking/destination-rule-all-mtls.yaml
$ oc apply -n info -f https://raw.githubusercontent.com/Maistra/istio/maistra-2.3/samples/bookinfo/networking/destination-rule-all-mtls.yamlCopy 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 createdCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.3.3. Bookinfo インストールの検証 リンクのコピーリンクがクリップボードにコピーされました!
Bookinfo アプリケーションのサンプルが正常にデプロイされたことを確認するには、以下の手順を実行します。
前提条件
- Red Hat OpenShift Service Mesh がインストールされている。
- Bookinfo サンプルアプリケーションのインストール手順を実行します。
CLI からの手順
- OpenShift Container Platform CLI にログインします。
以下のコマンドですべての Pod が準備状態にあることを確認します。
oc get pods -n info
$ oc get pods -n infoCopy 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 コンソールのアドレスを取得します。
-
cluster-admin権限を持つユーザーとして OpenShift Container Platform Web コンソールにログインします。(Red Hat OpenShift Dedicated を使用する場合)dedicated-adminロールがあるアカウント。 -
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.3.4. Bookinfo アプリケーションの削除 リンクのコピーリンクがクリップボードにコピーされました!
以下の手順で、Bookinfo アプリケーションを削除します。
前提条件
- OpenShift Container Platform 4.1 以降がインストールされている。
- Red Hat OpenShift Service Mesh 2.3.2 がインストールされている。
-
OpenShift CLI (
oc) へのアクセスがある。
1.9.3.4.1. Bookinfo プロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
- OpenShift Container Platform Web コンソールにログインします。
-
Home
Projects をクリックします。 -
infoメニュー
をクリックしてから Delete Project をクリックします。
確認ダイアログボックスに
bookinfoと入力してから Delete をクリックします。または、CLI を使用して以下のコマンドを実行し、
bookinfoプロジェクトを作成できます。oc delete project info
$ oc delete project infoCopy to Clipboard Copied! Toggle word wrap Toggle overflow
1.9.3.4.2. Service Mesh Member Roll からの Bookinfo プロジェクトの削除 リンクのコピーリンクがクリップボードにコピーされました!
手順
- OpenShift Container Platform 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 を選択します。
デフォルトの Service Mesh Member Roll YAML を編集し、members 一覧から
bookinfoを削除します。または、CLI を使用して以下のコマンドを実行し、
ServiceMeshMemberRollからbookinfoプロジェクトを削除できます。この例では、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.4. 次のステップ リンクのコピーリンクがクリップボードにコピーされました!
- インストールプロセスを続行するには、サイドカーコンテナーの挿入を有効 にする必要があります。