3.4.7.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 接続情報を環境変数としてアプリケーションのデプロイメントに挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続が確立されます。

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

    odc binding connector
注記

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

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

odc context operator