7.3. OpenShift ConfigMap を使用した Camel K プロパティーの設定
OpenShift ConfigMap を使用すると、Camel K インテグレーションに複数のプロパティーを設定できます。プロパティープレースホルダー(例: {{my.message
}})を使用してインテグレーションでプロパティーを定義する場合、ConfigMap を使用して実行時にプロパティー値を指定できます。ConfigMap の application.properties
セクションにログレベルなどの追加のプロパティーを指定することもできます。
前提条件
手順
プロパティーを使用する Camel インテグレーションを開発します。以下の簡単なルートには
{{my.message
}} プロパティープレースホルダーが含まれます。... from("timer:java?period=1s") .routeId("java") .setBody() .simple("{{my.message}} from ${routeId}") .to("log:info"); ...
設定プロパティーが含まれる ConfigMap を定義します。以下に例を示します。
apiVersion: v1 kind: ConfigMap metadata: name: my-configmap data: application.properties: | my.message=Bonjour le monde logging.level.org.apache.camel=DEBUG
この例では、
my.message
プロパティーの値を設定し、application.properties
にorg.apache.camel
パッケージのログレベルを設定します。インテグレーションと同じ OpenShift namespace に ConfigMap を作成します。
$ oc apply -f my-configmap.yaml configmap/my-configmap created
--configmap
オプションを指定してインテグレーションを実行し、ConfigMap に設定プロパティーを指定します。$ kamel run --configmap=my-configmap HelloCamelK.java --dev ... [1] 2020-04-14 14:18:20.654 DEBUG [Camel (camel-k) thread #1 - timer://java] DefaultReactiveExecutor - Queuing reactive work: CamelInternalProcessor - UnitOfWork - afterProcess - DefaultErrorHandler[sendTo(log://info)] - ID-hello-camel-k-5df4bcd7dc-zq4vw-1586873876659-0-25 [1] 2020-04-14 14:18:20.654 DEBUG [Camel (camel-k) thread #1 - timer://java] SendProcessor - >>>> log://info Exchange[ID-hello-camel-k-5df4bcd7dc-zq4vw-1586873876659-0-25] [1] 2020-04-14 14:18:20.655 INFO [Camel (camel-k) thread #1 - timer://java] info - Exchange[ExchangePattern: InOnly, BodyType: String, Body: Bonjour le monde from java] ...