6.9. 開発者パースペクティブを使用したアプリケーションのサービスへの接続


Topology ビューは、次の目的で使用します。

  • アプリケーション内での複数コンポーネントのグループ化
  • コンポーネントを相互に接続します。
  • ラベルを使用して複数のリソースをサービスに接続します。

バインディングまたはビジュアルコネクターを使用して、コンポーネントを接続できます。

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

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

6.9.1. Operator が支援するバインド可能なサービスの検出と識別

ユーザーは、バインド可能なサービスを作成する場合は、どのサービスがバインド可能かを知っている必要があります。バインド可能なサービスは、クレデンシャル、接続の詳細、ボリュームマウント、シークレット、およびその他のバインドデータなどのバインドデータを標準的な方法で公開するため、アプリケーションが簡単に使用できるサービスです。Developer パースペクティブは、そのようなバインド可能なサービスを発見して識別するのに役立ちます。

手順

  • Operator が支援するバインド可能なサービスを検出して識別する場合、次の代替アプローチを検討してください。

    • +Add Developer Catalog Operator Backed をクリックして、Operator-backed タイルを表示します。サービスバインディング機能をサポートする Operator が支援するサービスの場合、タイルに Bindable バッジが表示されます。
    • Operator Backed ページの左側のペインで、Bindable を選択します。

      ヒント

      Service binding の横にあるヘルプアイコンをクリックして、バインド可能なサービスの詳細を表示します。

    • +Add Add をクリックして、Operator が支援するサービスを検索します。バインド可能なサービスをクリックすると、サイドパネルに Bindable バッジが表示されます。

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

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

この手順では、PostgreSQL データベースサービスと Spring PetClinic のサンプルアプリケーション間の視覚的な接続の作成例を説明します。

前提条件

  • Developer パースペクティブを使用して Spring PetClinic のサンプルアプリケーションを作成し、デプロイしている。
  • Developer パースペクティブを使用して Crunchy PostgreSQL データベースインスタンスを作成し、デプロイしている。このインスタンスには、hippo-backuphippo-instancehippo-repo-hosthippo-pgbouncer の 4 つのコンポーネントがあります。

手順

  1. Developer パースペクティブで、関連するプロジェクト (my-petclinic など) に切り替えます。
  2. Spring PetClinic サンプルアプリケーションにカーソルを合わせ、ノード上の矢印を確認します。

    図6.2 ビジュアルコネクター

    odc connector
  3. 矢印をクリックして hippo-pgbouncer デプロイメントに向かってドラッグし、Spring PetClinic サンプルアプリケーションを接続します。
  4. spring-petclinic デプロイメントをクリックし、Overview パネルを表示します。Details タブで Annotations セクションの編集アイコンをクリックして、Key = app.openshift.io/connects-toValue = [{"apiVersion":"apps/v1","kind":"Deployment","name":"hippo-pgbouncer"}] アノテーションがデプロイメントに追加されていることを確認します。
  5. オプション: これらの手順を繰り返して、作成した他のアプリケーションとコンポーネントの間に視覚的な接続を確立できます。

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

    odc connecting multiple applications

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

次の例に示すように、Operator がサポートするコンポーネントを使用してバインディング接続を作成できます。この例では、PostgreSQL データベースサービスと Spring PetClinic サンプルアプリケーションを使用します。PostgreSQL Database Operator がサポートするサービスとのバインディング接続を作成するには、最初に Red Hat 提供の PostgreSQL Database Operator を Operator に追加してから、Operator をインストールする必要があります。次に、PostreSQL Database Operator は、シークレット、設定マップ、ステータス、および仕様属性でバインディングデータを公開するデータベースリソースを作成および管理します。

前提条件

  • Developer パースペクティブで Spring PetClinic サンプルアプリケーションを作成してデプロイしました。
  • OperatorHub から Service Binding Operator をインストールしました。
  • v5 Update チャネルの OperatorHub から Crunchy Postgres for Kubernetes Operator をインストールしました。
  • Developer パースペクティブで PostgresCluster リソースを作成しました。これにより、hippo-backuphippo-instancehippo-repo-hosthippo-pgbouncer というコンポーネント を持つ Crunchy PostgreSQL データベースインスタンスが作成されました。

手順

  1. Developer パースペクティブで、関連するプロジェクト (my-petclinic など) に切り替えます。
  2. Topology ビューで、Spring PetClinic サンプルアプリケーションにカーソルを合わせてノードの矢印を確認します。
  3. 矢印を Postgres クラスターの hippo データベースアイコンにドラッグアンドドロップして、Spring PetClinic サンプルアプリケーションとのバインディング接続を作成します。
  4. サービスバインドの作成 ダイアログで、サービスバインドのデフォルトの名前をそのまま使用するか、別の名前を追加して、作成 をクリックします。

    図6.4 Service Binding ダイアログ

    odc sbc モーダル
  5. オプション: Topology ビューを使用してバインド接続を作成するのが難しい場合は、+Add YAML Import YAML に移動します。
  6. オプション: YAML エディターで、ServiceBinding リソースを追加します。

    apiVersion: binding.operators.coreos.com/v1alpha1
    kind: ServiceBinding
    metadata:
        name: spring-petclinic-pgcluster
        namespace: my-petclinic
    spec:
        services:
        - group: postgres-operator.crunchydata.com
          version: v1beta1
          kind: PostgresCluster
          name: hippo
        application:
          name: spring-petclinic
          group: apps
          version: v1
          resource: deployments

    サービスバインディングリクエストが作成され、ServiceBinding リソースを通じてバインディング接続が作成されます。データベースサービス接続要求が成功すると、アプリケーションが再デプロイされ、接続が確立されます。

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

    odc binding connector
    ヒント

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

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

    odc context operator
  7. ナビゲーションメニューで、トポロジー をクリックします。トポロジービューの spring-petclinic 展開には、その Web ページを表示するための 開く URL リンクが含まれています。
  8. URL を開く リンクをクリックします。

Spring PetClinic サンプルアプリケーションをリモートで表示して、アプリケーションがデータベースサービスに接続され、データが Crunchy PostgreSQL データベースサービスからアプリケーションに正常に投影されたことを確認できます。

Service Binding Operator は、アプリケーションとデータベースサービスの間に有効な接続を正常に作成しました。

6.9.4. Topology ビューからのサービスバインディングのステータス確認

Developer パースペクティブは、Topology ビューを通じてサービスバインディングのステータスを確認するのに役立ちます。

手順

  1. サービスのバインドが成功したら、バインドコネクターをクリックします。サイドパネルが表示され、Details タブの下に Connected ステータスが表示されます。

    必要に応じて、次のページで Developer パースペクティブから Connected ステータスを表示できます。

    • ServiceBindings ページ。
    • ServiceBinding details ページ。さらに、ページタイトルには Connected バッジが表示されます。
  2. サービスバインディングに失敗した場合、バインディングコネクターの接続の中央に赤い矢印と赤い十字が表示されます。このコネクターをクリックすると、サイドパネルの Details タブに Error ステータスが表示されます。必要に応じて、Error ステータスをクリックして、根本的な問題に関する特定の情報を表示します。

    次のページで、Developer パースペクティブから Error ステータスとツールチップを表示することもできます。

    • ServiceBindings ページ。
    • ServiceBinding details ページ。さらに、ページタイトルには Error バッジが表示されます。
ヒント

ServiceBindings ページで、Filter ドロップダウンを使用して、ステータスに基づいてサービスバインディングを一覧表示します。

6.9.5. リソースへのバインディング接続の視覚化

ユーザーは、Topology ビューで Label Selector を使用して、サービスバインディングを視覚化し、アプリケーションをバッキングサービスにバインドするプロセスを簡素化します。ServiceBinding リソースを作成するときは、アプリケーションの名前を使用する代わりに、Label Selector を使用してアプリケーションを検索して接続することにより、ラベルを指定します。Service Binding Operator は、これらの ServiceBinding リソースと指定されたラベルを使用して、サービスバインディングを作成するアプリケーションを見つけます。

ヒント

接続されているすべてのリソースのリストに移動するには、ServiceBinding リソースに関連付けられているラベルセレクターをクリックします。

Label Selector を表示するには、次の方法を検討してください。

  • ServiceBinding リソースをインポートした後、ServiceBinding の詳細 ページで、サービスバインディングに関連付けられている Label Selector を表示します。

    図6.7 ServiceBinding の詳細ページ

    odc label selector sb details
注記

Label Selector を 使用して一度に 1 つ以上の接続を作成するには、ServiceBinding リソースの YAML ファイルをインポートする必要があります。

  • 接続が確立された後、バインドコネクターをクリックすると、サービスバインドコネクターの Details サイドパネルが表示されます。このパネルで、サービスバインディングに関連付けられた Label Selector を表示できます。

    図6.8 トポロジーラベルセレクターのサイドパネル

    odc label selector topology side panel
    注記

    バインディングコネクター (Topology 内の単一の接続とサービスバインディング) を削除すると、削除されたサービスバインディングに関連付けられているすべての接続が削除されます。バインディングコネクターの削除中に、確認ダイアログが表示され、すべてのコネクターが削除されることが通知されます。

    図6.9 ServiceBinding の削除確認ダイアログ

    odc delete service binding

6.9.6. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.