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.红帽构建的 Apache Camel K 1.10 发行注记
红帽构建的 Apache Camel K 的新内容
摘要
第 1 章 Camel K 发行注记 复制链接链接已复制到粘贴板!
Camel K 是一个从 Apache Camel K 构建的轻量级集成框架,它在 OpenShift 的云中原生运行。Camel K 是专为无服务器和微服务架构而设计的。您可以使用 Camel K 立即运行 OpenShift 上以 Camel 域特定语言(DSL)编写的集成代码。
将 Camel K 与 OpenShift Serverless 和 Knative 搭配使用,仅根据需要自动创建容器,并在负载下自动缩放为零。这消除了服务器置备和维护的开销,并可让您专注于应用程序开发。
将 Camel K 与 OpenShift Serverless 和 Knative Eventing 一起使用,您可以管理系统中的组件如何在无服务器应用程序的事件驱动的架构中进行通信。这为使用发布/订阅或事件流模型提供灵活性,并在事件和消费者之间分离关系。
1.1. Camel K 功能 复制链接链接已复制到粘贴板!
Camel K 提供与以下主要功能的云原生集成:
- 用于自动扩展和缩减至零的 Knative Serving
- 用于事件驱动的架构的 Knative Eventing
- 默认使用 Quarkus 运行时进行性能优化
- Camel 集成使用 Java 或 YAML DSL 编写
- 使用 OpenShift 中的 Prometheus 监控集成
- Quickstart 教程
- kamelet Catalog for connector to external system,如 AWS、JIRA 和 Salesforce
- 支持 Timer 和 Log Kamelets
- Camel K Operator 和 pod 的 metering
- 支持 IBM MQ 连接器
- 支持 Oracle 19 数据库
1.2. 支持的配置 复制链接链接已复制到粘贴板!
有关 Camel K 支持的配置、标准和组件的详情,请查看以下客户门户网站文章:
1.2.1. Camel K Operator 元数据 复制链接链接已复制到粘贴板!
Camel K 包括用于从 OpenShift OperatorHub 安装 Camel K 的更新 Operator 元数据。此 Operator 元数据包括用于发行版本打包的 Operator 捆绑包格式,用于 OpenShift Container Platform 4.6 或更高版本。
1.3. 重要备注 复制链接链接已复制到粘贴板!
Red Hat Integration 的重要备注 - Camel K 发行版本:
- 支持在 ROSA 上运行 Camel K
- Camel K 现在支持在 Red Hat OpenShift Service on AWS (ROSA)上运行。
- 支持 Camel K 中的 IBM MQ 源连接器
- IBM MQ 源连接器 kamelet 添加到最新的 Camel K 中。
- 支持 Oracle 19
- Camel K 现在支持 Oracle 19。如需更多信息 ,请参阅支持的配置页面。
- 在 Windows 机器上使用 Camel K CLI 命令
-
当在 Windows 计算机上使用 kamel cli 命令时,命令中的
资源选项中的路径必须使用 linux 格式。例如,
//Windows path kamel run file.groovy --dev --resource file:C:\user\folder\tempfile@/tmp/file.txt //Must be converted to kamel run file.groovy --dev --resource file:C:/user/folder/tempfile@/tmp/file.txt
//Windows path
kamel run file.groovy --dev --resource file:C:\user\folder\tempfile@/tmp/file.txt
//Must be converted to
kamel run file.groovy --dev --resource file:C:/user/folder/tempfile@/tmp/file.txt
- Red Hat Integration - Camel K Operator 镜像大小被增加
- 从 Red Hat Integration 开始 - Camel K 1.10.0.redhat-00033,Camel K Operator 镜像的大小会加倍。
- YAML DSL 中可接受的 Camel 问题单表示法
-
从 Red Hat Integration 开始 - Camel K 1.10.0.redhat-00033,YAML DSL 将接受 camel case notation (如
setBody)和 snake case (如set-body)。请注意,语法有一些区别,因为 schema 可能会受到 Camel 版本的变化。
1.4. 支持的 Camel Quarkus 扩展 复制链接链接已复制到粘贴板!
本节列出了此 Camel K 发行版本支持的 Camel Quarkus 扩展(仅在 Camel K 应用程序中使用时)。
只有在 Camel K 应用程序内使用时,才支持这些 Camel Quarkus 扩展。这些 Camel Quarkus 扩展不支持在独立模式中使用(没有 Camel K)。
1.4.1. 支持的 Camel Quarkus 连接器扩展 复制链接链接已复制到粘贴板!
下表显示了此 Camel K 发行版本支持的 Camel Quarkus 连接器扩展(仅在 Camel K 应用程序中使用)。
| 名称 | 软件包 |
|---|---|
| AWS 2 Kinesis |
|
| AWS 2 Lambda |
|
| AWS 2 S3 Storage Service |
|
| AWS 2 Simple Notification System (SNS) |
|
| AWS 2 Simple Queue Service (SQS) |
|
| Azure Storage Blob (技术预览) |
|
| Azure Storage Queue (技术预览) |
|
| Cassandra CQL |
|
| File |
|
| FTP |
|
| FTPS |
|
| SFTP |
|
| HTTP |
|
| JMS |
|
| Kafka |
|
| kamelets |
|
| 指标 |
|
| MongoDB |
|
| Salesforce |
|
| SQL |
|
| timer |
|
1.4.2. 支持的 Camel Quarkus 数据格式扩展 复制链接链接已复制到粘贴板!
下表显示了此 Camel K 发行版本支持的 Camel Quarkus 数据格式扩展(仅在 Camel K 应用程序中使用时)。
| 名称 | 软件包 |
|---|---|
| avro |
|
| bindy (用于 CSV) |
|
| gson |
|
| JSON Jackson |
|
| Jacks Avro |
|
1.4.3. 支持的 Camel Quarkus 语言扩展 复制链接链接已复制到粘贴板!
在本发行版本中,Camel K 支持以下 Camel Quarkus 语言扩展(用于 Camel 表达式和 predicates):
- 常数
- ExchangeProperty
- File
- 标头
- Ref
- Simple(简单)
- 令牌化
- JsonPath
1.4.4. 支持的 Camel K traits 复制链接链接已复制到粘贴板!
在本发行版本中,Camel K 支持以下 Camel K traits。
- builder trait
- Camel trait
- 容器特征
- 依赖项特征
- deployer trait
- 部署特征
- 环境特征
- JVM 特征
- kamelets trait
- Owner trait
- 平台特征
- Pull Secret trait
- Prometheus trait
- Quarkus trait
- 路由特征
- Service trait
- 错误处理程序特征
1.5. 支持的 Kamelets 复制链接链接已复制到粘贴板!
下表列出了在安装 Camel K operator 时作为 OpenShift 资源提供的 kamelets。
有关这些 kamelets 的详情,请访问: https://github.com/openshift-integration/kamelet-catalog/tree/kamelet-catalog-1.8
有关如何使用 kamelets 连接应用程序和服务的详情,请参考 https://access.redhat.com/documentation/zh-cn/red_hat_integration/2022.q3/html-single/integrating_applications_with_kamelets。
技术预览功能不受红帽产品服务等级协议(SLA)支持,且功能可能并不完整。红帽不推荐在生产环境中使用它们。
这些技术预览功能可以使用户提早试用新的功能,并有机会在开发阶段提供反馈意见。有关红帽技术预览功能支持范围的更多信息,请参阅 https://access.redhat.com/support/offerings/techpreview。
| kamelet | 文件名 | 类型(Sink、Source、Action) |
|---|---|---|
| Ceph sink |
| sink |
| Ceph 源 |
| 源 |
| JIRA 添加评论接收器 |
| sink |
| JIRA 添加问题接收器 |
| sink |
| JIRA Transition 问题 sink |
| sink |
| JIRA 更新问题 sink |
| sink |
| Avro Deserialize 操作 |
| 操作(数据转换) |
| Avro Serialize 操作 |
| 操作(数据转换) |
| AWS DynamoDB sink |
| sink |
| AWS Redshift sink |
| sink |
| AWS 2 Kinesis sink |
| sink |
| AWS 2 Kinesis 源 |
| 源 |
| AWS 2 Lambda sink |
| sink |
| AWS 2 简单通知系统接收器 |
| sink |
| AWS 2 Simple Queue Service sink |
| sink |
| AWS 2 Simple Queue Service 源 |
| 源 |
| AWS 2 Simple Queue Service FIFO sink |
| sink |
| AWS 2 S3 sink |
| sink |
| AWS 2 S3 源 |
| 源 |
| AWS 2 S3 流上传接收器 |
| sink |
| Azure Storage Blob Source (技术预览) |
| 源 |
| Azure Storage Blob Sink (技术预览) |
| sink |
| Azure Storage Queue Source (技术预览) |
| 源 |
| Azure Storage Queue Sink (技术预览) |
| sink |
| Cassandra sink |
| sink |
| Cassandra 源 |
| 源 |
| 提取字段操作 |
| 操作 |
| FTP sink |
| sink |
| FTP 源 |
| 源 |
| 具有 Header Key Filter 操作 |
| 操作(数据转换) |
| Hoist 字段操作 |
| 操作 |
| HTTP sink |
| sink |
| 插入字段操作 |
| 操作(数据转换) |
| 插入标头操作 |
| 操作(数据转换) |
| 是 Tombstone Filter 操作 |
| 操作(数据转换) |
| JIRA 源 |
| 源 |
| JMS sink |
| sink |
| JMS 源 |
| 源 |
| JMS IBM MQ sink |
| sink |
| JMS IBM MQ 源 |
| 源 |
| JSON 反序列化操作 |
| 操作(数据转换) |
| JSON Serialize 操作 |
| 操作(数据转换) |
| Kafka 接收器 |
| sink |
| Kafka 源 |
| 源 |
| Kafka 主题名称过滤器操作 |
| 操作(数据转换) |
| 日志 sink (用于开发和测试目的) |
| sink |
| MariaDB sink |
| sink |
| 掩码字段操作 |
| 操作(数据转换) |
| message TimeStamp Router 操作 |
| 操作(路由器) |
| MongoDB sink |
| sink |
| MongoDB 源 |
| 源 |
| MySQL sink |
| sink |
| PostgreSQL sink |
| sink |
| predicate 过滤器操作 |
| 操作(router/filter) |
| protobuf Deserialize 操作 |
| 操作(数据转换) |
| protobuf Serialize 操作 |
| 操作(数据转换) |
| regex Router 操作 |
| 操作(路由器) |
| 替换 Field 操作 |
| 操作 |
| Salesforce 创建 |
| sink |
| Salesforce Delete |
| sink |
| Salesforce 更新 |
| sink |
| SFTP sink |
| sink |
| SFTP 源 |
| 源 |
| Slack 源 |
| 源 |
| SQL Server 数据库接收器 |
| sink |
| 电话报源 |
| 源 |
| throttle 操作 |
| 操作 |
| 计时器源(用于开发和测试目的) |
| 源 |
| 时间戳路由器操作 |
| 操作(路由器) |
| Key 操作的值 |
| 操作(数据转换) |
1.6. Camel K 已知问题 复制链接链接已复制到粘贴板!
以下已知问题适用于 Camel K:
ENTESB-15306 - Camel K 和 Fuse Online 之间的 CRD 冲突
如果同一 OpenShift 集群中安装了旧版本的 Camel K,请从 OperatorHub 安装 Camel K 会失败,因为与自定义资源定义冲突。例如,这包括以前在 Fuse Online 中提供的 Camel K 的旧版本。
作为临时解决方案,您可以在不同的 OpenShift 集群中安装 Camel K,或者在安装 Camel K 前输入以下命令:
oc get crds -l app=camel-k -o json | oc delete -f -
$ oc get crds -l app=camel-k -o json | oc delete -f -
ENTESB-15858 - 添加了在本地打包和运行 Camel 集成的功能
在本地打包并运行 Camel 集成,或作为容器镜像当前没有包括在 Camel K 中,并且只有社区支持。
如需了解更多详细信息,请参阅 Apache Camel K 社区。
ENTESB-16477 - 无法下载带有产品化的构建的 jira 客户端依赖项
使用 Camel K 运算符时,集成无法找到 jira 客户端的依赖项。解决办法是手动添加 atlassian 存储库。
ENTESB-17033 - Camel-K ElasticsearchComponent options ignored
配置 Elasticsearch 组件时,Camel K ElasticsearchComponent 选项将被忽略。解决的工作是使用 Elasticsearch 组件时添加 getContext ().setAutowiredEnabled (false)。
ENTESB-17061 - 无法使用非管理员用户运行 mongo-db-source kamelet 路由 - 无法启动路由 mongodb-source-1,因为为空
无法使用非管理员用户凭证运行 mongo-db-source kamelet 路由。组件的某些部分需要 admin 凭证,因此无法以非 admin 用户身份运行路由。
1.7. Camel K 修复的问题 复制链接链接已复制到粘贴板!
以下小节列出了 Red Hat Integration 中修复的问题 - Camel K 1.10.0.redhat-00033。
1.7.1. Camel K 1.10.0.redhat-00033 中的功能请求 复制链接链接已复制到粘贴板!
下表列出了 Camel K 1.10.0.redhat-00033 中的功能请求。
| 问题 | 描述 |
|---|---|
| 将 repeatCount 属性添加到 timer-source kamelet | |
| Developer Sandbox 中包括的性能测试 Camel K | |
| camel-K:支持 Camel master 组件 | |
| 与上游同步 | |
| kafka-source Kamelet 的支持 consumergroup 属性 |
1.7.2. Camel K 1.10.0.redhat-00033 中的增强功能 复制链接链接已复制到粘贴板!
下表列出了 Camel K 1.10.0.redhat-00033 中的增强功能。
| 问题 | 描述 |
|---|---|
| 为 Camel K Traits 提供完整的自定义资源定义 Structural 模式 | |
| 公开 mongo-db camel 组件的参数,以指定用户 auth DB | |
| 支持 Dev Sandbox idler 中的缩放子资源 | |
| 添加对 jslt-action kamelet 的支持 | |
| 将 camel-k 的 c\":\" 产品化添加到 OSBS 2.0 | |
| Azure Storage Blob Sink 和 Source Kamelet: 为两者添加 credentialsType 参数 |
1.7.3. Camel K 1.10.0.redhat-00033 中解决的错误 复制链接链接已复制到粘贴板!
下表列出了 Camel K 1.10.0.redhat-00033 中已解析的错误。
| 问题 | 描述 |
|---|---|
| camel-K 1.4.0: camel-jackson Unrecognized Type: [null] | |
| CVE-2021-30129 sshd-sftp: mina-sshd-core: Apache Mina SSHD 服务器中内存泄漏拒绝服务 [rhint-camel-k-1] | |
| CVE-2021-37136 netty-codec: Bzip2Decoder 不允许为解压缩的数据设置大小限制 [rhint-camel-k-1] | |
| CVE-2021-37137 netty-codec: SnappyFrameDecoder 不限制块长度,并可以不必要的方式缓冲可跳过的块 [rhint-camel-k-1] | |
| 数据格式依赖项没有解决 | |
| Knative 代理到 AWS SQS Sink Sink 的消息属性数量超过允许的最大值 | |
| 来自代理源的 KameletBinding 会忽略代理名称 | |
| CK MRRC zip - jar 缺少清单 | |
| CK MRRC 中缺少源 jar | |
| CVE-2021-42550 logback-classic: logback: 通过来自其配置文件中的 JNDI 调用进行远程代码执行 [rhint-camel-k-1] | |
| CK MRRC 中存在 source zip 文件和 m2 zip 文件 | |
| CK source zip 中存在目标目录 | |
| CVE-2021-22569 protobuf-java: 二进制数据的解析过程中潜在的 DoS [rhint-camel-k-1] | |
| CVE-2021-41571 pulsar-client-admin: pulsar: Pulsar Admin API 允许使用 getMessageById API [rhint-camel-k-1] 来访问其他租户的数据 | |
| CVE-2022-23596 junrar:仔细设计的 RAR 存档可在提取 [rhint-camel-k-1] 时触发无限循环 | |
| CVE-2021-43859 xstream:增加高递归集合或映射可能会导致 Denial of Service [rhint-camel-k-1] | |
| CVE-2022-21724 quarkus-jdbc-postgresql-deployment: jdbc-postgresql: Unchecked Class Instantiation when provides Plugin Classes [rhint-camel-k-1] | |
| CVE-2022-23913 artemis-commons: Apache ActiveMQ Artemis Denial of Service [rhint-camel-k-1] | |
| CVE-2022-0981 quarkus:在 Quarkus [rhint-camel-k-1] 中带有 RestEasy Reactive scope leakage 的权限升级漏洞 | |
| Camel K operator 在 Kube ApiServer 上放置内存压力 | |
| CVE-2022-2053 undertow:大者请求可能会导致 Denial of Service [rhint-camel-k-1] | |
| camel-K 1.8:当无法构建时,集成不会标记为失败。 | |
| Windows CLI:选项 --resource 无法用于窗口路径系统(\ 作为分隔符) | |
| CVE-2022-33980 commons-configuration2: apache-commons-configuration: Apache Commons Configuration insecure interpolation defaults [rhint-camel-k-1] | |
| 支持的特征 jolokia 不使用产品化工件 | |
| CVE-2022-25857 snakeyaml: Denial of Service: Denial of Service due of collection [rhint-camel-k-1] | |
| 1.8.1 使用比 1.6.10 旧的 openjdk 镜像 | |
| CVE-2022-40154 xstream: Xstream 到序列化 XML 数据可能会破坏 Denial of Service 攻击 [rhint-camel-k-1] | |
| CVE-2022-40156 xstream: Xstream 到序列化 XML 数据可能会破坏 Denial of Service 攻击 [rhint-camel-k-1] | |
| CVE-2022-40155 xstream: Xstream 到序列化 XML 数据可能会破坏 Denial of Service 攻击 [rhint-camel-k-1] | |
| CVE-2022-40153 xstream: Xstream 到序列化 XML 数据可能会破坏 Denial of Service 攻击 [rhint-camel-k-1] | |
| CVE-2022-40152 woodstox-core: woodstox to 序列化 XML 数据会受到服务攻击的影响 [rhint-camel-k-1] | |
| CVE-2022-40151 xstream: Xstream 到序列化 XML 数据可能会破坏 Denial of Service 攻击 [rhint-camel-k-1] | |
| CVE-2022-38751 snakeyaml: Uncaught exception in java.base/java.util.regex.Pattern$Ques.match [rhint-camel-k-1] | |
| CVE-2022-38750 snakeyaml: Uncaught exception in org.yaml.snakeyaml.constructor.BaseConstructor.constructObject [rhint-camel-k-1] | |
| CVE-2022-38749 snakeyaml: Uncaught exception in org.yaml.snakeyaml.composer.Composer.composeSequenceNode [rhint-camel-k-1] | |
| CVE-2022-42889 commons-text: apache-commons-text: 变量插入 RCE [rhint-camel-k-1] | |
| CVE-2022-42003 jackson-databind: deep wrapper 数组嵌套 wrt UNWRAP_SINGLE_VALUE_ARRAYS [rhint-camel-k-1] | |
| CVE-2022-42004 jackson-databind:使用深度嵌套阵列 [rhint-camel-k-1] | |
| build 缺少 camel-cloudevents | |
| 就绪条件消息并不总是从 Camel Health Check 中获取 | |
| Camel K: gc trait failed for: cannot list resource \"endpoints\" in API group \"submariner.io\" | |
| CVE-2022-40149 jettison: parser crash by stackoverflow [rhint-camel-k-1] | |
| 带有原生注解的 KameletBinding 无法构建带有 "Out of date of date version of GraalVM" 的 quarkus 应用程序 | |
| 带有 kamel 安装的默认 OLM 频道错误 | |
| 在 \"policy/v1beta1\"" 中,不能匹配 kind \"PodDisruptionBudget\"" | |
| [serialize/deserialize-action kamelet] Failed to start application: Unsupported field: property-name | |
| CVE-2022-37866 apache-ivy: Apache Ivy: Ivy Path traal [rhint-camel-k-1] | |
| CVE-2022-38648 batik: Server-Side Request the [rhint-camel-k-1] | |
| CVE-2022-38398 batik: Server-Side Request the [rhint-camel-k-1] | |
| CVE-2022-40146 batik: Server-Side Request the (SSRF) vulnerability [rhint-camel-k-1] | |
| CVE-2022-45693 jettison :如果映射中的值是映射本身,新的 JSONObject (map)可能会导致 StackOverflowError,这可能会导致 Service。[rhint-camel-k-1] | |
| 1.8 - Kameletbinding 带有 dataformat action kamelets 的回归会生成警告 CDI: 程序查找问题 | |
| 从 1.8 - 正文类型从 byte[] 改为 StreamCache,用于字段操作 kamelets | |
| kamelet native build: Fatal error: com.oracle.graal.pointsto.util.AnalysisError$ParsingError | |
| [jackson-databind] MRRC 中存在 Vulnerable 工件 |