4.2.2.4. ConfigMap またはシークレットに含まれるプロパティーの参照

インテグレーションを実行し、--config オプションで ConfigMap またはシークレットを指定する場合、Camel K Operator は ConfigMap またはシークレットをランタイムプロパティーファイルとして解析します。インテグレーション内で、他のランタイムプロパティーを参照する際にプロパティーを参照できます。

手順

  1. プロパティーが含まれるテキストファイルを作成します。

    たとえば、以下のプロパティーを含む my.properties という名前のファイルを作成します。

    my.key.1=hello
    my.key.2=world
  2. プロパティーファイルに基づいて ConfigMap またはシークレットを作成します。

    たとえば、以下のコマンドを使用して my.properties ファイルからシークレットを作成します。

    oc create secret generic my-sec --from-file my.properties
  3. インテグレーションで、シークレットに定義されたプロパティーを参照します。

    たとえば、以下のインテグレーション (名前: ConfigSecretRoute.java) は、my.key.1my.key.2 プロパティーを参照します。

    import org.apache.camel.builder.RouteBuilder;
    
    public class ConfigSecretPropertyRoute extends RouteBuilder {
      @Override
      public void configure() throws Exception {
    
        from("timer:secret")
            .routeId("secret")
            .log("{{my.key.1}} {{my.key.2}}");
    
      }
    }
  4. インテグレーションを実行し、--config オプションを使用して、my.key.1 および my.key.2 プロパティーが含まれるシークレットを指定します。

    以下は例になります。

    kamel run --config secret:my-sec ConfigSecretPropertyRoute.java --dev