1.3. 半自動サービスバインディング
サービスバインディングプロセスでは、まずユーザーが、特定のアプリケーションにバインドされる必要なサービスを指定します。この表現は、kubernetes-service-binding
エクステンションが生成する ServiceBinding
リソースに要約されます。kubernetes-service-binding
エクステンションを使用すると、ユーザーは最小限の設定で ServiceBinding
リソースを生成できるため、プロセス全体が簡略化されます。
次に、バインディングプロセスを実行する Service Binding Operator が ServiceBinding
リソースから情報を読み取り、必要なファイルをコンテナーにマウントします。
ServiceBinding
リソースの例:apiVersion: binding.operators.coreos.com/v1beta1 kind: ServiceBinding metadata: name: binding-request namespace: service-binding-demo spec: application: name: java-app group: apps version: v1 resource: deployments services: - group: postgres-operator.crunchydata.com version: v1beta1 kind: Database name: db-demo id: postgresDB
注記quarkus-kubernetes-service-binding
エクステンションを使用すると、同じ情報をよりコンパクトに表現できます。以下に例を示します。quarkus.kubernetes-service-binding.services.db-demo.api-version=postgres-operator.crunchydata.com/v1beta1 quarkus.kubernetes-service-binding.services.db-demo.kind=Database
application.properties
内に以前の設定プロパティーを追加した後、quarkus-kubernetes
と quarkus-kubernetes-service-binding
エクステンションの組み合わせにより、ServiceBinding
リソースが自動的に生成されます。
前述の db-demo
プロパティー設定識別子には 2 つのロールがあり、次のアクションも実行します。
-
api-version
プロパティーとapi-version
プロパティーを相互に関連付けてグループ化します。 カスタムリソースの
name
プロパティーを定義します。これは、必要に応じて後で編集できます。以下に例を示します。quarkus.kubernetes-service-binding.services.db-demo.api-version=postgres-operator.crunchydata.com/v1beta1 quarkus.kubernetes-service-binding.services.db-demo.kind=Database quarkus.kubernetes-service-binding.services.db-demo.name=my-db