4.2.3.2. リソースとしての ConfigMap の指定
設定値が含まれる OpenShift ConfigMap があり、ConfigMap をインテグレーションのリソースとしてマテリアル化する必要がある場合は、--resource <configmap-file>
オプションを使用します。
前提条件
- Setting up your Camel K development environment
OpenShift クラスター上に 1 つ以上の ConfigMap ファイルがある。たとえば、以下のコマンドを使用して ConfigMap を作成できます。
oc create configmap my-cm --from-literal=my-configmap-key="configmap content"
手順
OpenShift クラスターに保存されている ConfigMap を参照する Camel K インテグレーションを作成します。
たとえば、以下のインテグレーション (名前:
ResourceConfigmapRoute.java
) は、my-configmap-key
が含まれるmy-cm
という名前の ConfigMap を参照します。import org.apache.camel.builder.RouteBuilder; public class ResourceConfigmapRoute extends RouteBuilder { @Override public void configure() throws Exception { from("file:/etc/camel/resources/my-cm/?fileName=my-configmap-key&noop=true&idempotent=false") .log("resource file content is: ${body}"); } }
インテグレーションを実行し、
--resource
オプションを使用してデフォルトの/etc/camel/resources/
ディレクトリーの ConfigMap ファイルをマテリアル化し、実行中のインテグレーションで使用できるようにします。以下に例を示します。
kamel run --resource configmap:my-cm ResourceConfigmapRoute.java --dev
インテグレーションが起動すると、Camel K Operator は ConfigMap の内容でボリュームをマウントします (例:
my-configmap-key
)。
注記: クラスターでまだ利用できない ConfigMap を指定した場合、Integration は待機し ConfigMap が利用可能になって初めて起動します。