Menu Close

11.2.4. ConfigMap の設定

Spring Cloud Kubernetes との統合には、ConfigMap オブジェクトの作成と適切な view パーミッションの設定の他に、ConfigMap の metadata.name がプロジェクトの bootstrap.yml ファイルに設定された spring.application.name プロパティーの値と一致するようにする必要があります。ConfigMap を設定するには、以下を行います。

  • サンプル ConfigMap オブジェクトの作成
  • view パーミッションの設定
  • Spring Cloud Kubernetes プラグインの設定

サンプル ConfigMap オブジェクト

クイックスタートオブジェクトは、サンプル ConfigMap sample-configmap.yml を提供します。

kind: ConfigMap
apiVersion: v1
metadata: 1
  # Must match the 'spring.application.name' property of the application
  name: camel-config
data:
  application.properties: | 2
    # Override the configuration properties here
    quickstart.recipients=direct:async-queue,direct:file,direct:mail 3
1
metadata.name: ConfigMap を識別します。OpenShift システムの他の部分はこの識別子を使用して ConfigMap を参照します。
2
data.application.properties: このセクションは、アプリケーションとデプロイされた application.properties ファイルの設定をオーバーライドできるプロパティー設定をリストします。
3
quickstart.recipients: quickstartConfiguration Bean の recipients プロパティーにインジェクトすることを目的とします。

view パーミッションの設定

Secret の deployment.yml ファイルで説明したとおり、serviceAccountName はプロジェクトの deployment.yml ファイルで qs-camel-config に設定されます。そのため、以下のコマンドを実行して、クイックスタートアプリケーションで view パーミッションを有効にします (test プロジェクト namespace にデプロイされることを仮定します)。

oc policy add-role-to-user view system:serviceaccount:test:qs-camel-config

Spring Cloud Kubernetes プラグインの設定

Spring Cloud Kubernetes プラグインは、bootstrap.yml ファイルの以下の設定によって指定されます。

spring.application.name
この値は、ConfigMap オブジェクトの metadata.name と一致する必要があります (たとえば、クイックスタートの sample-configmap.yml で定義された値)。デフォルトは application です。
spring.cloud.kubernetes.reload.enabled
これを true に設定すると、ConfigMap オブジェクトの動的リロードが有効になります。

サポートされるプロパティーに関する詳細は「PropertySource リロード設定プロパティー」を参照してください。