7.4. OpenShift シークレットを使用した Camel K プロパティーの設定


OpenShift シークレットを使用すると、Camel K インテグレーションに複数のプロパティーを設定できます。たとえば、{{my.message}} プロパティープレースホルダーを使用してインテグレーションでプロパティーを定義する場合、シークレットを使用して実行時にプロパティー値を指定できます。Secret の application.properties セクションで、ロギングレベルなどの追加のプロパティーを指定することもできます。

注記

シークレットを使用したインテグレーションプロパティーの設定は、ConfigMap を使用した設定と似ています。主な違いは、Secret 内の application.properties のコンテンツを base64 エンコードする必要がある場合があることです。

手順

  1. プロパティーを使用する Camel インテグレーションを開発します。次の単純なルートには、{{my.message}} プロパティープレースホルダーが含まれています。

    ...
       from("timer:java?period=1s")
         .routeId("java")
         .setBody()
            .simple("{{my.message}} from ${routeId}")
         .to("log:info");
    ...
  2. 設定プロパティーが含まれるシークレットを定義します。以下に例を示します。

    apiVersion: v1
    kind: Secret
    metadata:
      name: my-secret
    data:
      application.properties: |
        bXkubWVzc2FnZT1IZWxsbyBXb3JsZAogICAgbG9nZ2luZy5sZXZlbC5vcmcuYXBhY2hlLmNhbWVs
        PURFQlVHCg==

    この例では、my.message プロパティーの値を Hello World に設定し、org.apache.camel パッケージのログレベルを DEBUG に設定します。これらの設定は、application.properties で base64 エンコード形式で指定されます。

  3. インテグレーションと同じ OpenShift namespace にシークレットを作成します。

    oc apply -f my-secret.yaml

    以下を返します。

    secret/my-secret created
  4. --secret オプションを使用してインテグレーションを実行し、シークレットの設定プロパティーを指定します。

    kamel run --secret=my-secret HelloCamelK.java --dev

    以下を返します。

    [1] 2020-04-14 14:30:29.788 DEBUG [Camel (camel-k) thread #1 - timer://java] DefaultReactiveExecutor - Queuing reactive work: CamelInternalProcessor - UnitOfWork - afterProcess - DefaultErrorHandler[sendTo(log://info)] - ID-hello-camel-k-68f85d99b9-srd92-1586874486770-0-144
    [1] 2020-04-14 14:30:29.789 DEBUG [Camel (camel-k) thread #1 - timer://java] SendProcessor - >>>> log://info Exchange[ID-hello-camel-k-68f85d99b9-srd92-1586874486770-0-144]
    [1] 2020-04-14 14:30:29.789 INFO  [Camel (camel-k) thread #1 - timer://java] info - Exchange[ExchangePattern: InOnly, BodyType: String, Body: Hello World from java]
Red Hat logoGithubRedditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

Red Hat ドキュメントについて

Red Hat をお使いのお客様が、信頼できるコンテンツが含まれている製品やサービスを活用することで、イノベーションを行い、目標を達成できるようにします。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

© 2024 Red Hat, Inc.