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
メッシュのサービスがない場合や、ゼロから作業を開始する場合は、アプリケーションのプロジェクトを作成します。これは、Service Mesh コントロールプレーンをインストールしたプロジェクトとは異なる必要があります。
$ oc new-project <your-project>
プロジェクトをメンバーとして追加するには、以下の YAML の例を変更します。任意の数のプロジェクトを追加できますが、プロジェクトは 単一 の
ServiceMeshMemberRoll
リソースしか属することができません。この例では、istio-system
が Service Mesh コントロールプレーンプロジェクトの名前です。servicemeshmemberroll-default.yaml の例
apiVersion: maistra.io/v1 kind: ServiceMeshMemberRoll metadata: name: default namespace: istio-system spec: members: # a list of projects joined into the service mesh - your-project-name - another-project-name
以下のコマンドを実行して、
istio-system
namespace にServiceMeshMemberRoll
リソースをアップロードおよび作成します。$ oc create -n istio-system -f servicemeshmemberroll-default.yaml
以下のコマンドを実行して、
ServiceMeshMemberRoll
が正常に作成されていることを確認します。$ oc get smmr -n istio-system default
STATUS
列がConfigured
の場合には、インストールは正常に終了しています。