第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.com API グループ
  • Service Binding (Spec API テクノロジープレビュー): servicebinding.io API グループ

    重要

    servicebinding.io API グループを備えた Service Binding (Spec API テクノロジープレビュー) は、テクノロジープレビュー機能のみでの提供です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

    Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

5.1.2.1. サポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

テクノロジープレビュー機能のサポート範囲

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表5.1 サポート表
機能サービスバインディング Operator 1.0.1

binding.operators.coreos.com API グループ

GA

ServiceBinding.io API グループ

TP

5.1.2.2. 修正された問題

  • 今回の更新以前は、postgresql.k8s.enterpriesedb.io/v1 API の Cluster カスタムリソース (CR) からデータ値をバインドすると、CR の .metadata.name フィールドから host バインディング値が収集されていました。収集されたバインディング値は間違ったホスト名であり、正しいホスト名は .status.writeService フィールドで確認できます。今回の更新により、サービスバインディング Operator がバッキングサービス CR からバインディングデータ値を公開するために使用するアノテーションが変更され、.status.writeService フィールドから host バインディング値を収集するようになりました。サービスバインディング Operator はこれらの変更されたアノテーションを使用して、host および provider のバインディングに正しいホスト名を反映します。APPSVC-1040
  • 今回の更新以前は、postgres-operator.crunchydata.com/v1beta1 API の PostgresCluster CR をバインドする際に、バインディングデータ値にデータベース証明書の値が含まれませんでした。その結果、アプリケーションはデータベースへの接続に失敗しました。今回の更新により、サービスバインディング Operator がバッキングサービス CR からバインディングデータを公開するために使用するアノテーションへの変更に、データベース証明書が含まれるようになりました。サービスバインディング Operator はこれらの変更されたアノテーションを使用して、正しい ca.crttls.crt、および tls.key 証明書ファイルを反映します。APPSVC-1045
  • 今回の更新以前は、pxc.percona.com API の 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"`

    回避策 1: all namespaces インストールモードでサービスバインディング Operator をインストールします。その結果、適切なクラスタースコープの RBAC ルールが存在し、バインディングが正常に実行されるようになります。

    回避策 2: サービスバインディング Operator を all namespaces インストールモードでインストールできない場合は、サービスバインディング Operator がインストールされている namespace に以下のロールバインディングをインストールします。

    例:Crunchy Postgres Operator のロールバインディング

    kind: RoleBinding
    apiVersion: rbac.authorization.k8s.io/v1
    metadata:
      name: service-binding-crunchy-postgres-viewer
    subjects:
      - kind: ServiceAccount
        name: service-binding-operator
    roleRef:
      apiGroup: rbac.authorization.k8s.io
      kind: ClusterRole
      name: service-binding-crunchy-postgres-viewer-role

    APPSVC-1062

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.com API グループ
  • Service Binding (Spec API テクノロジープレビュー): servicebinding.io API グループ

    重要

    servicebinding.io API グループを備えた Service Binding (Spec API テクノロジープレビュー) は、テクノロジープレビュー機能のみでの提供です。テクノロジープレビュー機能は、Red Hat 製品のサービスレベルアグリーメント (SLA) の対象外であり、機能的に完全ではないことがあります。Red Hat は実稼働環境でこれらを使用することを推奨していません。テクノロジープレビューの機能は、最新の製品機能をいち早く提供して、開発段階で機能のテストを行いフィードバックを提供していただくことを目的としています。

    Red Hat のテクノロジープレビュー機能のサポート範囲に関する詳細は、テクノロジープレビュー機能のサポート範囲 を参照してください。

5.1.3.1. サポート表

現在、今回のリリースに含まれる機能にはテクノロジープレビューのものがあります。これらの実験的機能は、実稼働環境での使用を目的としていません。

テクノロジープレビュー機能のサポート範囲

以下の表では、機能は以下のステータスでマークされています。

  • TP: テクノロジープレビュー機能
  • GA: 一般公開機能

これらの機能に関しては、Red Hat カスタマーポータルの以下のサポート範囲を参照してください。

表5.2 サポート表
機能サービスバインディング Operator 1.0

binding.operators.coreos.com API グループ

GA

ServiceBinding.io API グループ

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) をサポートする。

5.1.4. 関連情報

Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

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

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

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

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

会社概要

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

© 2024 Red Hat, Inc.