4.9. アプリケーション内および複数のアプリケーション間でのコンポーネントの接続


アプリケーション内で複数のコンポーネントをグループ化することに加え、Topology ビューを使用してコンポーネントを相互に接続することもできます。バインディングコネクターまたはビジュアルコネクターのいずれかを使用してコンポーネントを接続できます。

コンポーネント間のバインディング接続は、ターゲットノードが Operator がサポートするサービスである場合にのみ確立できます。これは、矢印をこのようなターゲットノードにドラッグする際に表示される Create a binding connector ツールチップによって示されます。アプリケーションがバインディングコネクターを使用してサービスに接続されると、サービスバインディング要求が作成されます。その後、Service Binding Operator コントローラーは中間のシークレットを使用して、必要なバインディングデータを環境変数としてアプリケーションのデプロイメントに挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続されたコンポーネント間の対話が確立されます。

ビジュアルコネクターは、接続先となるコンポーネント間の視覚的な接続のみを表示します。コンポーネント間の対話は確立されません。ターゲットノードが Operator がサポートするサービスではない場合、Create a visual connector ツールチップは矢印をターゲットノードにドラッグすると表示されます。

4.9.1. コンポーネント間のビジュアル接続の作成

ビジュアルコネクターを使用してアプリケーションコンポーネントに接続する意図を示すことができます。

この手順では、MongoDB サービスと Node.js アプリケーション間のビジュアル接続の作成例を説明します。

前提条件

  • Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
  • Developer パースペクティブを使用して MongoDB サービスを作成し、デプロイしている。

手順

  1. カーソルを MongoDB サービスの上に置き、ノードの矢印を確認します。

    図4.8 Connector

    odc connector
  2. 矢印をクリックして Node.js コンポーネントの方にドラッグし、 MongoDB サービスをこれに接続します。
  3. MongoDB サービスをクリックし、Overview パネルを表示します。Annotations セクションで、編集アイコンをクリックして Key = app.openshift.io/connects-to および Value = [{"apiVersion":"apps.openshift.io/v1","kind":"DeploymentConfig","name":"nodejs-ex"}] アノテーションがサービスに追加されていることを確認します。

他のアプリケーションやコンポーネントを同様に作成し、それらの間の接続を確立することができます。

図4.9 複数アプリケーションへの接続

odc connecting multiple applications

4.9.2. コンポーネント間のバインディング接続の作成

重要

サービスバインディングはテクノロジープレビュー機能としてのみご利用いただけます。テクノロジープレビュー機能は Red Hat の実稼働環境でのサービスレベルアグリーメント (SLA) ではサポートされていないため、Red Hat では実稼働環境での使用を推奨していません。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

Red Hat のテクノロジープレビュー機能のサポート範囲についての詳細は、https://access.redhat.com/ja/support/offerings/techpreview/ を参照してください。

注記

現時点で、etcd などのいくつかの特定の Operator や PostgresSQL Database Operator のサービスインスタンスのみがバインド可能です。

Operator がサポートするコンポーネントとのバインディング接続を確立できます。

この手順では、PostgreSQL データベースサービスと Node.js アプリケーション間のバインディング接続の作成例を説明します。PostgreSQL Database Operator がサポートするサービスでバインディング接続を作成するには、まずサポートする CatalogSource リソースを使用して Red Hat が提供する PostgreSQL データベース Operator を OperatorHub に追加し、Operator をインストールする必要があります。次に、PostreSQL Database Operator はシークレット、設定マップ、ステータス、および仕様属性のバインディング情報を公開する Database リソースを作成し、管理します。

前提条件

  • Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
  • OperatorHub から Service Binding Operator をインストールしている。

手順

  1. Red Hat が提供する PostgresSQL Database Operator を OperatorHub に追加するサポートする CatalogSource を作成します。

    1. +Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
    2. 以下の YAML ファイルを追加して CatalogSource リソースを適用します。

      apiVersion: operators.coreos.com/v1alpha1
      kind: CatalogSource
      metadata:
          name: sample-db-operators
          namespace: openshift-marketplace
      spec:
          sourceType: grpc
          image: quay.io/redhat-developer/sample-db-operators-olm:v1
          displayName: Sample DB OLM registry
          updateStrategy:
              registryPoll:
                  interval: 30m
    3. Create をクリックして、CatalogSource をクラスターに作成します。
  2. Red Hat が提供する PostgreSQL データベース Operator をインストールします。

    1. コンソールの Administrator パースペクティブで、Operators OperatorHub に移動します。
    2. Database カテゴリーで、PostgreSQL Database Operator を選択して、これをインストールします。
  3. アプリケーションのデータベース (DB) インスタンスを作成します。

    1. Developer パースペクティブに切り替え、test-project などの適切なプロジェクトにいることを確認します。
    2. +Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
    3. エディターでサービスインスタンスの YAML を追加し、Create をクリックしてサービスをデプロイします。以下は、サービス YAML のサンプルです。

      apiVersion: postgresql.baiju.dev/v1alpha1
      kind: Database
      metadata:
       name: db-demo
      spec:
       image: docker.io/postgres
       imageName: postgres
       dbName: db-demo

      DB インスタンスが Topology ビューにデプロイされます。

  4. Topology ビューで Node.js コンポーネントにマウスを合わせて、ノードの矢印を確認します。
  5. 矢印をクリックし、db-demo-postgresql サービスにドラッグし、Node.js アプリケーションとのバインディング接続を確立します。サービスバインディング要求が作成され、Service Binding Operator コントローラーは DB 接続情報を環境変数としてアプリケーションのデプロイメントに挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続が確立されます。

    図4.10 バインディングコネクター

    odc binding connector
注記

矢印をドラッグしてコンテキストメニューを使用し、Operator がサポートするサービスへのバインディング接続を追加して作成できます。

図4.11 バインディング接続を作成するためのコンテキストメニュー

odc context operator
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.