Red Hat Camel K is no longer supported.
As of June 30, 2025, Red Hat build of Camel K has reached End of Life. The suggested replacements is Red Hat build of Apache Camel. For details about moving, see the Camel K to Camel Quarkus migration guide.3.7. Build
Build 资源描述了组合容器镜像的过程,该容器镜像符合 Integration 或 IntegrationKit 的要求。
构建的结果是一个 IntegrationKit,必须为多个集成 重复使用。
完整的 go 定义 可在此处找到。
3.7.1. 构建策略 复制链接链接已复制到粘贴板!
您可以从不同的构建策略中选择。构建策略定义如何执行构建,并且遵循可用的策略。
- buildStrategy: pod (每个构建都在单独的 pod 中运行,Operator 会监控 pod 状态)
- buildStrategy: routine (每个构建都作为 operator pod 中的 go 例程运行)
routine 是默认策略。
以下描述允许您决定何时使用哪个策略。
例程 :提供稍快的构建,因为没有启动额外的 pod,加载的构建依赖项(如 Maven 依赖项)会在构建之间缓存。适用于正在执行的普通构建数量,并且只有几个并行运行构建。
Pod :防止 Operator 的内存压力,因为构建不会消耗 Operator Go 运行时的 CPU 和内存。适用于正在执行的许多构建以及许多并行构建。
3.7.2. 构建队列 复制链接链接已复制到粘贴板!
必须对多个集成重复使用 IntegrationKits 及其基础镜像,以完成有效的资源管理,并为 Camel K 集成优化构建和启动时间。
为重复使用镜像,操作器将按顺序排队构建。这样,Operator 便可将高效的镜像分层用于集成。
默认情况下,构建根据其布局(如 native、fast-jar)和构建命名空间按顺序排列。
但是,构建可能无法按顺序运行,但根据某些条件相互并行运行。
- 例如,原生构建将始终与其他构建并行运行。
- 另外,当构建需要使用自定义 IntegrationPlatform 运行时,它可能会与使用默认 operator IntegrationPlatform 运行的其他构建并行运行。
- 通常,当无法重复使用构建的镜像层时,构建被强制与其他构建并行运行。
因此,为了避免许多并行运行构建,Operator 使用最多的运行构建设置数量来限制运行构建量。
您可以在 IntegrationPlatform 设置中设置这个限制。
此限制的默认值基于构建策略。
- buildStrategy: pod (MaxRunningBuilds=10)
- buildStrategy: routine (MaxRunningBuilds=3)