This documentation is for a release that is no longer maintained
See documentation for the latest supported version 3 or the latest supported version 4.第5章 アプリケーションのサービスへの接続
5.1. Service Binding Operator のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
サービスバインディング Operator は、サービスバインディングのコントローラーおよび付随のカスタムリソース定義 (CRD) で設定されます。サービスバインディング Operator は、ワークロードおよびバッキングサービスのデータプレーンを管理します。サービスバインディングコントローラーは、バッキングサービスのコントロールプレーン提供のデータを読み取ります。次に、ServiceBinding リソースで指定されるルールに従って、このデータをワークロードに追加します。
サービスバインディング Operator を使用すると、以下を行うことができます。
- ワークロードを Operator 管理のバッキングサービスと共にバインドします。
- バインディングデータの設定を自動化します。
- サービスオペレーターは簡単にサービスへのアクセスのプロビジョニングや管理が行えます。
- クラスター環境の不一致をなくす一貫性がある宣言型サービスバインディングメソッドを使用し、開発ライフサイクルを充実させます。
5.1.1. 多様性を受け入れるオープンソースの強化 リンクのコピーリンクがクリップボードにコピーされました!
Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。まずは、マスター (master)、スレーブ (slave)、ブラックリスト (blacklist)、ホワイトリスト (whitelist) の 4 つの用語の置き換えから始めます。この取り組みは膨大な作業を要するため、今後の複数のリリースで段階的に用語の置き換えを実施して参ります。詳細は、弊社の CTO、Chris Wright のメッセージ を参照してください。
5.1.2. Service Binding Operator 1.0.1 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
サービスバインディング Operator が OpenShift Container Platform 4.7、4.8 および 4.9 で利用可能になりました。
サービスバインディング Operator 1.0.1 は、以下で実行されている OpenShift Container Platform 4.9 以降をサポートします。
- IBM Power Systems
- IBM Z および LinuxONE
サービスバインディング Operator 1.0.1 のカスタムリソース定義 (CRD) は以下の API をサポートします。
-
Service Binding:
binding.operators.coreos.comAPI グループ Service Binding (Spec API テクノロジープレビュー):
servicebinding.ioAPI グループ重要servicebinding.ioAPI グループを備えた Service Binding (Spec API テクノロジープレビュー) は、テクノロジープレビュー機能のみでの提供です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.1.2.1. サポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
- TP: テクノロジープレビュー機能
- GA: 一般公開機能
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | サービスバインディング Operator 1.0.1 |
|---|---|
|
| GA |
|
| TP |
5.1.2.2. 修正された問題 リンクのコピーリンクがクリップボードにコピーされました!
-
今回の更新以前は、
postgresql.k8s.enterpriesedb.io/v1API のClusterカスタムリソース (CR) からデータ値をバインドすると、CR の.metadata.nameフィールドからhostバインディング値が収集されていました。収集されたバインディング値は間違ったホスト名であり、正しいホスト名は.status.writeServiceフィールドで確認できます。今回の更新により、サービスバインディング Operator がバッキングサービス CR からバインディングデータ値を公開するために使用するアノテーションが変更され、.status.writeServiceフィールドからhostバインディング値を収集するようになりました。サービスバインディング Operator はこれらの変更されたアノテーションを使用して、hostおよびproviderのバインディングに正しいホスト名を反映します。APPSVC-1040 -
今回の更新以前は、
postgres-operator.crunchydata.com/v1beta1API のPostgresClusterCR をバインドする際に、バインディングデータ値にデータベース証明書の値が含まれませんでした。その結果、アプリケーションはデータベースへの接続に失敗しました。今回の更新により、サービスバインディング Operator がバッキングサービス CR からバインディングデータを公開するために使用するアノテーションへの変更に、データベース証明書が含まれるようになりました。サービスバインディング Operator はこれらの変更されたアノテーションを使用して、正しいca.crt、tls.crt、およびtls.key証明書ファイルを反映します。APPSVC-1045 -
今回の更新以前は、
pxc.percona.comAPI のPerconaXtraDBClusterカスタムリソース (CR) をバインドする場合、バインディングデータ値にportおよびdatabaseの値が含まれませんでした。アプリケーションがデータベースサービスに正常に接続するには、これらのバインディング値とすでに反映されている他の値が必要です。今回の更新により、サービスバインディング Operator がバッキングサービス CR からバインディングデータ値を公開するために使用するアノテーションが変更され、追加のporおよびdatabaseバインディング値を反映するようになりました。サービスバインディング Operator はこれらの変更されたアノテーションを使用して、アプリケーションがデータベースサービスに正常に接続するために使用できるバインディング値の完全なセットを反映します。APPSVC-1073
5.1.2.3. 既知の問題 リンクのコピーリンクがクリップボードにコピーされました!
現時点で、単一の namespace インストールモードでサービスバインディング Operator をインストールする際に、適切な namespace スコープのロールベースアクセス制御 (RBAC) ルールがないため、サービスバインディング Operator が自動的に検出およびバインドできる既知の Operator がサポートするいくつかのサービスへのアプリケーションのバインドが正常に行われません。さらに、以下のエラーメッセージが生成されます。
エラーメッセージの例
`postgresclusters.postgres-operator.crunchydata.com "hippo" is forbidden: User "system:serviceaccount:my-petclinic:service-binding-operator" cannot get resource "postgresclusters" in API group "postgres-operator.crunchydata.com" in the namespace "my-petclinic"``postgresclusters.postgres-operator.crunchydata.com "hippo" is forbidden: User "system:serviceaccount:my-petclinic:service-binding-operator" cannot get resource "postgresclusters" in API group "postgres-operator.crunchydata.com" in the namespace "my-petclinic"`Copy to Clipboard Copied! Toggle word wrap Toggle overflow 回避策 1:
all namespacesインストールモードでサービスバインディング Operator をインストールします。その結果、適切なクラスタースコープの RBAC ルールが存在し、バインディングが正常に実行されるようになります。回避策 2: サービスバインディング Operator を
all namespacesインストールモードでインストールできない場合は、サービスバインディング Operator がインストールされている namespace に以下のロールバインディングをインストールします。例:Crunchy Postgres Operator のロールバインディング
Copy to Clipboard Copied! Toggle word wrap Toggle overflow
5.1.3. サービスバインディング Operator 1.0 のリリースノート リンクのコピーリンクがクリップボードにコピーされました!
サービスバインディング Operator が OpenShift Container Platform 4.7、4.8 および 4.9 で利用可能になりました。
サービスバインディング Operator 1.0 のカスタムリソース定義 (CRD) は以下の API をサポートします。
-
Service Binding:
binding.operators.coreos.comAPI グループ Service Binding (Spec API テクノロジープレビュー):
servicebinding.ioAPI グループ重要servicebinding.ioAPI グループを備えた Service Binding (Spec API テクノロジープレビュー) は、テクノロジープレビュー機能のみでの提供です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。
5.1.3.1. サポート表 リンクのコピーリンクがクリップボードにコピーされました!
現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。
以下の表では、機能は以下のステータスでマークされています。
- TP: テクノロジープレビュー機能
- GA: 一般公開機能
これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。
| 機能 | サービスバインディング Operator 1.0 |
|---|---|
|
| GA |
|
| TP |
5.1.3.2. 新機能 リンクのコピーリンクがクリップボードにコピーされました!
サービスバインディング Operator 1.0 は、以下で実行されている OpenShift Container Platform 4.9 以降をサポートします。
- IBM Power Systems
- IBM Z および LinuxONE
このセクションでは、サービスバインディング Operator 1.0 の主な新機能について説明します。
サービスからのバインディングデータの公開
- CRD、カスタムリソース (CR)、またはリソースに存在するアノテーションをベースにする。
- Operator Lifecycle Manager(OLM) 記述子にある記述子をベースにする。
- プロビジョニングされたサービスのサポート
ワークロードのプロジェクション
- ボリュームマウントを使用してバインディングデータをファイルとしてプロジェクションする。
- バインディングデータを環境変数としてプロジェクションする。
サービスバインディングオプション
- ワークロード namespace とは異なる namespace でバッキングサービスをバインドする。
- バインディングデータを特定のコンテナーワークロードにプロジェクションする。
- バッキングサービス CR が所有するリソースからバインディングデータを自動的に検出する。
- 公開されるバインディングデータからカスタムバインディングデータを作成する。
-
PodSpec以外のワークロードリソースをサポートする。
セキュリティー
- ロールベースアクセス制御 (RBAC) をサポートする。