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.2.5. 过滤从 ConfigMap 或 Secret 获取的配置值
ConfigMap 和 Secret 可以容纳多个源。例如,以下命令从两个源创建一个 secret (my-sec-multi
):
oc create secret generic my-sec-multi --from-literal=my-secret-key="very top secret" --from-literal=my-secret-key-2="even more secret"
您可以使用 --config configmap
或 --config secret
选项后,使用 /key
表示法限制集成检索的信息数量。
前提条件
- 设置 Camel K 开发环境
- 您有一个包含多个源的 ConfigMap 或 Secret。
流程
创建使用 ConfigMap 或 Secret 中其中一个源的配置值的集成。
例如,以下集成(
ConfigSecretKeyRoute.java
)使用来自my-sec-multi
机密中的一个源的 属性。import org.apache.camel.builder.RouteBuilder; public class ConfigSecretKeyRoute extends RouteBuilder { @Override public void configure() throws Exception { from("timer:secret") .setBody() .simple("resource:classpath:my-secret-key-2") .log("secret content is: ${body}"); } }
使用
--config secret
选项和/key
表示法运行集成。例如:
kamel run --config secret:my-sec-multi/my-secret-key-2 ConfigSecretKeyRoute.java --dev
检查集成 pod,以验证是否只挂载指定源(如
my-secret-key-2)。
例如,运行以下命令来列出 pod 的所有卷:
oc set volume pod/<pod-name> --all