第4章 Camel K インテグレーションの設定
Camel K インテグレーションのライフサイクルには、以下の 2 つの設定フェーズがあります。
- ビルド時: Camel Quarkus が Camel K インテグレーションをビルドする場合、ビルド時プロパティーが使用されます。
- ランタイム: Camel K インテグレーションが実行されると、インテグレーションはローカルファイル、OpenShift ConfigMap、または Secret からのランタイムプロパティーまたは設定情報を使用します。
kamel run コマンドで以下のオプションを使用して設定情報を指定します。
-
ビルド時の設定の場合は、「 Specifying build-time configuration properties」で説明されているように
--build-propertyオプションを使用します。 -
ランタイム設定の場合は、「 Specifying runtime configuration options」で説明されているように、
--property、--config、または--resourceオプションを使用します。
たとえば、ビルド時とランタイムオプションを使用して、Connect Camel K with databases のサンプル設定のように、Camel K のデータソースを迅速に設定できます。
4.1. ビルド時の設定プロパティーの指定
Camel K インテグレーションをビルドできるように、プロパティー値を Camel Quarkus ランタイムに提供する必要がある場合があります。ビルド時に有効な Quarkus 設定の詳細は、Quarkus Build Time 設定についてのドキュメントを参照してください。ビルド時のプロパティーはコマンドラインで直接指定するか、プロパティーファイルを参照して指定できます。プロパティーが両方の場所に定義されている場合は、コマンドラインで直接指定された値は、プロパティーファイルの値よりも優先されます。
前提条件
- Camel K Operator および OpenShift Serverless Operator がインストールされている OpenShift クラスターにアクセスできる必要があります。
- Camel K のインストール
- OperatorHub からの OpenShift Serverless のインストール
- Camel K インテグレーションに適用する Camel Quarkus 設定オプションを把握している必要があります。
手順
Camel K
kamel runコマンドで--build propertyオプションを指定するには、以下を実行します。kamel run --build-property <quarkus-property>=<property-value> <camel-k-integration>
たとえば、以下の Camel K インテグレーション(
my -simple-timer.yaml という名前の)はquarkus.application.name設定オプションを使用します。- from: uri: "timer:tick" steps: - set-body: constant: "{{quarkus.application.name}}" - to: "log:info"デフォルトのアプリケーション名を上書きするには、インテグレーションの実行時に
quarkus.application.nameプロパティーの値を指定します。たとえば、名前を
my-simple-timerからmy-favorite-appに変更するには、次のコマンドを実行します。kamel run --build-property quarkus.application.name=my-favorite-app my-simple-timer.yaml
複数の build-time プロパティーを指定するには
--build-propertyオプションをkamel runコマンドに追加します。kamel run --build-property <quarkus-property1>=<property-value1> -build-property=<quarkus-property2>=<property-value12> <camel-k-integration>
また、複数のプロパティーを指定する必要がある場合は、プロパティーファイルを作成して
--build-property fileオプションでプロパティーファイルを指定することもできます。kamel run --build-property file:<property-filename> <camel-k-integration>
たとえば、以下のプロパティーファイル (名前:
quarkus.properties) は 2 つの Quarkus プロパティーを定義します。quarkus.application.name = my-favorite-app quarkus.banner.enabled = true
quarkus.banner.enabledプロパティーは、インテグレーションの起動時に Quarkus バナーを表示するように指定します。Camel K kamel run コマンドで
quarkus.propertiesファイルを指定するには、以下を実行します。kamel run --build-property file:quarkus.properties my-simple-timer.yaml
Quarkus はプロパティーファイルを解析し、プロパティー値を使用して Camel K インテグレーションを設定します。
関連情報
Camel K インテグレーションのランタイムとしての Camel Quarkus の詳細は、「 Quarkus Trait 」を参照してください。