3.4.6. アプリケーション内および複数のアプリケーション間でのコンポーネントの接続
アプリケーション内で複数のコンポーネントをグループ化することに加え、Topology ビューを使用してコンポーネントを相互に接続することもできます。バインディングコネクターまたはビジュアルコネクターのいずれかを使用してコンポーネントを接続できます。
コンポーネント間のバインディング接続は、ターゲットノードが Operator がサポートするサービスである場合にのみ確立できます。これは、矢印をこのようなターゲットノードにドラッグする際に表示される Create a binding connector ツールチップによって示されます。アプリケーションがバインディングコネクターを使用してサービスに接続されると、サービスバインディング要求が作成されます。その後、Service Binding Operator コントローラーは中間のシークレットを使用して、必要なバインディングデータを環境変数としてアプリケーションのデプロイメントに挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続されたコンポーネント間の対話が確立されます。
ビジュアルコネクターは、接続先となるコンポーネント間の視覚的な接続のみを表示します。コンポーネント間の対話は確立されません。ターゲットノードが Operator がサポートするサービスではない場合、Create a visual connector ツールチップは矢印をターゲットノードにドラッグすると表示されます。
3.4.6.1. コンポーネント間のビジュアル接続の作成
ビジュアルコネクターを使用してアプリケーションコンポーネントに接続する意図を示すことができます。
この手順では、MongoDB サービスと Node.js アプリケーション間のビジュアル接続の作成例を説明します。
前提条件
- Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
- Developer パースペクティブを使用して MongoDB サービスを作成し、デプロイしている。
手順
カーソルを MongoDB サービスの上に置き、ノードの矢印を確認します。
図3.3 Connector
- 矢印をクリックして Node.js コンポーネントの方にドラッグし、 MongoDB サービスをこれに接続します。
-
MongoDB サービスをクリックし、Overview パネルを表示します。Annotations セクションで、編集アイコンをクリックして Key =
app.openshift.io/connects-to
および Value =[{"apiVersion":"apps.openshift.io/v1","kind":"DeploymentConfig","name":"nodejs-ex"}]
アノテーションがサービスに追加されていることを確認します。
他のアプリケーションやコンポーネントを同様に作成し、それらの間の接続を確立することができます。
図3.4 複数アプリケーションへの接続