4.2.3.2. 将 ConfigMap 指定为资源
如果您有一个包含配置值的 OpenShift ConfigMap,且需要将 ConfigMap 作为集成资源进行材料,请使用 --resource <configmap-file> 选项。
前提条件
- 设置 Camel K 开发环境
在 OpenShift 集群中存储了一个或多个 ConfigMap 文件。例如,您可以使用以下命令创建 ConfigMap:
oc create configmap my-cm --from-literal=my-configmap-key="configmap content"
流程
创建引用 OpenShift 集群中存储的 ConfigMap 的 Camel K 集成。
例如,以下集成(名为
ResourceConfigmapRoute.java)引用名为my-cm的 ConfigMap,其中包含my-configmap-key。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选项将 ConfigMap 文件放在默认的/etc/camel/resources/目录中,使其可用于运行的集成。例如:
kamel run --resource configmap:my-cm ResourceConfigmapRoute.java --dev当集成启动时,Camel K 操作器会挂载 ConfigMap 的内容的卷(如
my-configmap-key)。
注: 如果您指定集群中还没有可用的 ConfigMap,则集成会等待并在 ConfigMap 可用时启动。