Red Hat Camel K is deprecated
Red Hat Camel K is deprecated and the End of Life date for this product is June 30, 2025. For help migrating to the current go-to solution, Red Hat build of Apache Camel, see the Migration Guide.4.2.3.2. 将 ConfigMap 指定为资源
如果您有一个包含配置值的 OpenShift ConfigMap,且需要将 ConfigMap 作为集成资源进行材料,请使用 --resource <configmap-file>
选项。
前提条件
- 设置 Camel K 开发环境
在 OpenShift 集群中存储了一个或多个 ConfigMap 文件。例如,您可以使用以下命令创建 ConfigMap:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow oc create configmap my-cm --from-literal=my-configmap-key="configmap content"
oc create configmap my-cm --from-literal=my-configmap-key="configmap content"
流程
创建引用 OpenShift 集群中存储的 ConfigMap 的 Camel K 集成。
例如,以下集成(名为
ResourceConfigmapRoute.java
)引用名为my-cm
的 ConfigMap,其中包含my-configmap-key
。Copy to Clipboard Copied! Toggle word wrap Toggle overflow 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}"); } }
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/
目录中,使其可用于运行的集成。例如:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow kamel run --resource configmap:my-cm ResourceConfigmapRoute.java --dev
kamel run --resource configmap:my-cm ResourceConfigmapRoute.java --dev
当集成启动时,Camel K 操作器会挂载 ConfigMap 的内容的卷(如
my-configmap-key
)。
注: 如果您指定集群中还没有可用的 ConfigMap,则集成会等待并在 ConfigMap 可用时启动。