2.4.6.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 がサポートするサービスでバインディング接続を作成するには、まずサポートする Operator ソースを使用して Red Hat が提供する PostgreSQL データベース Operator を OperatorHub に追加し、Operator をインストールする必要があります。
前提条件
- Developer パースペクティブを使用して Node.js アプリケーションを作成し、デプロイしている。
- OperatorHub から Service Binding Operator をインストールしている。
手順
Red Hat が提供する PostgresSQL Operator を OperatorHub に追加するサポートする Operator ソースを作成します。サポートする Operator ソースは、シークレット、設定マップ、ステータス、および仕様属性のバインディング情報を公開します。
- Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
以下の YAML ファイルを追加して Operator ソースを適用します。
apiVersion: operators.coreos.com/v1 kind: OperatorSource metadata: name: db-operators namespace: openshift-marketplace spec: type: appregistry endpoint: https://quay.io/cnr registryNamespace: pmacik
- Create をクリックして、Operator ソースをクラスターに作成します。
Red Hat が提供する PostgreSQL データベース Operator をインストールします。
-
コンソールの Administrator パースペクティブで、Operators
OperatorHub に移動します。 - Database カテゴリーで、PostgreSQL Database Operator を選択して、これをインストールします。
-
コンソールの Administrator パースペクティブで、Operators
アプリケーションのデータベース (DB) インスタンスを作成します。
- Developer パースペクティブに切り替え、適切なプロジェクトにいることを確認します。
- Add ビューで、YAML オプションをクリックし、 Import YAML 画面を表示します。
エディターでサービスインスタンスの YAML を追加し、Create をクリックしてサービスをデプロイします。以下は、サービス YAML のサンプルです。
apiVersion: postgresql.baiju.dev/v1alpha1 kind: Database metadata: name: db-demo namespace: test-project spec: image: docker.io/postgres imageName: postgres dbName: db-demo
DB インスタンスが Topology ビューにデプロイされます。
- Topology ビューで Node.js コンポーネントにマウスを合わせて、ノードの矢印を確認します。
矢印をクリックし、db-demo-postgresql サービスにドラッグし、Node.js アプリケーションとのバインディング接続を確立します。サービスバインディング要求が作成され、Service Binding Operator コントローラーは DB 接続情報を環境変数としてアプリケーションのデプロイメントに挿入します。要求が正常に行われると、アプリケーションが再デプロイされ、接続が確立されます。
図2.7 バインディングコネクター