第 4 章 配置 Camel K 集成


Camel K 集成生命周期有两个配置阶段:

  • 构建时间 - 当 Camel Quarkus 构建 Camel K 集成时,它会消耗 build-time 属性。
  • 运行时 - 当 Camel K 集成运行时,集成将使用来自本地文件、OpenShift ConfigMap 或 Secret 的运行时属性或配置信息。

您可以在 kamel run 命令中使用以下选项来提供配置信息:

例如,您可以使用 build-time 和 runtime 选项快速配置 Camel K 中的数据源,如链接所示: Connect Camel K with database sample configuration。

4.1. 指定构建时配置属性

您可能需要为 Camel Quarkus 运行时提供属性值,以便它能够构建 Camel K 集成。有关构建期间生效的 Quarkus 配置的更多信息,请参阅 Quarkus 构建配置文档。您可以在命令行中直接指定 build-time 属性,或引用属性文件。如果在两个位置上都定义了属性,则直接在命令行中指定的值优先于属性文件中的值。

先决条件

流程

  • 使用 Camel K kamel run 命令指定 --build-property 选项:

    kamel run --build-property <quarkus-property>=<property-value> <camel-k-integration>

    例如,以下 Camel K 集成(名为 my-simple-timer.yaml)使用 quarkus.application.name 配置选项:

    - from:
       uri: "timer:tick"
       steps:
         - set-body:
             constant: "{{quarkus.application.name}}"
         - to: "log:info"

    要覆盖默认应用程序名称,在运行集成时为 quarkus.application.name 属性指定一个值。

    例如,要将名称从 my-simple-timer 更改为 my-favorite-app

    kamel run --build-property quarkus.application.name=my-favorite-app my-simple-timer.yaml
  • 要提供多个 build-time 属性,请在 kamel run 命令中添加 additional --build-property 选项:

    kamel run --build-property <quarkus-property1>=<property-value1> -build-property=<quarkus-property2>=<property-value12> <camel-k-integration>

    另外,如果您需要指定多个属性,您可以创建一个属性文件,并使用 --build-property file 选项指定属性文件:

    kamel run --build-property file:<property-filename> <camel-k-integration>

    例如,以下属性文件(名为 quarkus.properties)定义两个 Quarkus 属性:

    quarkus.application.name = my-favorite-app
    quarkus.banner.enabled = true

    quarkus.banner.enabled 属性指定在集成启动时显示 Quarkus 横幅。

    使用 Camel K kamel run 命令指定 quarkus.properties 文件:

    kamel run --build-property file:quarkus.properties my-simple-timer.yaml

    Quarkus 解析属性文件,并使用属性值配置 Camel K 集成。

其他资源

有关 Camel Quarkus 作为 Camel K 集成的运行时的详情,请参考 Quarkus Trait

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

© 2024 Red Hat, Inc.