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.红帽构建的 Apache Camel K 1.8 发行注记
红帽构建的 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 用于外部系统(如 AWS、JIRA 和 Salesforce)的连接器
- 支持 Timer 和 Log Kamelets
- Metering for Camel K Operator 和 pod
- 支持 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 支持在 AWS (ROSA)上运行 Red Hat OpenShift Service。
- 支持 Camel K 中的 IBM MQ 源连接器
- IBM MQ 源连接器 kamelet 添加至最新的 Camel K。
- 支持 Oracle 19
- Oracle 19 现在在 Camel K 支持。如需更多信息,请参阅支持的配置 页面。
- 在 Windows 机器中使用 Camel K CLI 命令
-
当在 Windows 机器上使用 kamel cli 命令时,命令中的
resource
选项中的路径必须使用 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
- Red Hat Integration - Camel K Operator 镜像大小为
- 由于 Red Hat Integration - Camel K 1.8.1.redhat-00024,Camel K Operator 镜像的大小翻倍。
- YAML DSL 中接受的 Camel 案例表示法
-
由于 Red Hat Integration - Camel K 1.8.1.redhat-00024,YAML DSL 可以接受 camel case 表示法(例如
setBody
)以及 snake case (i.eset-body
)。请注意,语法中有一些差异,因为模式可能会改变 Camel 版本。
1.4. 支持的 Camel Quarkus 扩展
本节列出了此版本的 Camel K 支持的 Camel Quarkus 扩展(只在 Camel K 应用程序中使用)。
这些 Camel Quarkus 扩展仅在 Camel K 应用程序中使用时被支持。这些 Camel Quarkus 扩展不支持在单机模式中使用(无需 Camel K)。
1.4.1. 支持的 Camel Quarkus 连接器扩展
下表显示了支持此版本的 Camel K (仅在 Camel K 应用程序内使用)的 Camel Quarkus 连接器扩展。
名称 | 软件包 |
---|---|
AWS 2 Kinesis |
|
AWS 2 Lambda |
|
AWS 2 S3 Storage Service |
|
AWS 2 简单通知系统(SNS) |
|
AWS 2 Simple Queue Service (SQS) |
|
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 |
|
jackson Avro |
|
1.4.3. 支持的 Camel Quarkus 语言扩展
在本发行版本中,Camel K 支持以下 Camel Quarkus 语言扩展(用于 Camel 表达式和 predicates):
- 常数
- ExchangeProperty
- File
- 标头
- Ref
- Simple(简单)
- 令牌化
- JsonPath
1.4.4. 支持的 Camel K 特征
在本发行版本中,Camel K 支持以下 Camel K 特征。
- 构建器特征
- Camel 特征
- 容器特征
- 依赖项特征
- deployer trait
- 部署特征
- 环境特征
- JVM 特征
- Kamelets trait
- 所有者特征
- 平台特征
- pull Secret trait
- Prometheus trait
- Quarkus 特征
- 路由特征
- 服务特征
- 错误处理程序特征
1.5. 支持的 Kamelets
下表列出了在安装 Camel K 操作器时作为 OpenShift 资源提供的 kamelets。
有关这些卡卡程序的详情,请访问: https://github.com/openshift-integration/kamelet-catalog/tree/kamelet-catalog-1.8
有关如何使用 kamelets 连接应用程序和服务的详情,请参考 https://access.redhat.com/documentation/en-us/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 Add Comment sink |
| sink |
JIRA Add Issue sink |
| sink |
JIRA Transition Issue sink |
| sink |
JIRA Update Issue 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 简单队列服务源 |
| 源 |
AWS 2 Simple Queue Service FIFO sink |
| sink |
AWS 2 S3 sink |
| sink |
AWS 2 S3 源 |
| 源 |
AWS 2 S3 Streaming Upload sink |
| 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 源 |
| 源 |
具有标头键过滤器操作 |
| 操作(数据转换) |
Hoist 字段操作 |
| 操作 |
HTTP sink |
| sink |
插入字段操作 |
| 操作(数据转换) |
插入标头操作 |
| 操作(数据转换) |
is Tombstone Filter action |
| 操作(数据转换) |
JIRA 源 |
| 源 |
JMS sink |
| sink |
JMS 源 |
| 源 |
JMS IBM MQ sink |
| sink |
JMS IBM MQ 源 |
| 源 |
JSON 重序列化操作 |
| 操作(数据转换) |
JSON Serialize 操作 |
| 操作(数据转换) |
Kafka 接收器 |
| sink |
Kafka 源 |
| 源 |
Kafka Topic Name Filter action |
| 操作(数据转换) |
日志记录 sink (用于开发和测试目的) |
| sink |
MariaDB sink |
| sink |
掩码字段操作 |
| 操作(数据转换) |
Message TimeStamp Router action |
| 操作(路由器) |
MongoDB sink |
| sink |
MongoDB 源 |
| 源 |
MySQL sink |
| sink |
PostgreSQL sink |
| sink |
predicate 过滤器操作 |
| 操作(路由器/过滤器) |
protobuf Deserialize action |
| 操作(数据转换) |
protobuf Serialize 操作 |
| 操作(数据转换) |
正则表达式路由器操作 |
| 操作(路由器) |
替换 Field 操作 |
| 操作 |
Salesforce Create |
| sink |
Salesforce Delete |
| sink |
Salesforce 更新 |
| sink |
SFTP sink |
| sink |
SFTP 源 |
| 源 |
Slack 源 |
| 源 |
SQL Server 数据库 sink |
| sink |
Telegram 源 |
| 源 |
throttle 操作 |
| 操作 |
计时器源(用于开发和测试目的) |
| 源 |
时间戳路由器操作 |
| 操作(路由器) |
密钥操作值 |
| 操作(数据转换) |
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 -
ENTESB-15858 - 向本地或作为容器镜像打包并运行 Camel 集成
在本地或作为容器镜像打包并运行 Camel 集成目前没有包括在 Camel K 中,且只有社区的支持。
如需了解更多详细信息,请参阅 Apache Camel K 社区。
ENTESB-16477 - 无法下载带有产品化构建的 jira 客户端依赖项
在使用 Camel K 运算符时,集成无法查找 jira 客户端的依赖项。围绕的工作是手动添加 atlassian 仓库。
apiVersion: camel.apache.org/v1 kind: IntegrationPlatform metadata: labels: app: camel-k name: camel-k spec: configuration: - type: repository value: <atlassian repo here>
ENTESB-17033 - Camel-K ElasticsearchComponent options ignored
在配置 Elasticsearch 组件时,Camel K ElasticsearchComponent 选项会被忽略。围绕的问题是在使用 Elasticsearch 组件时添加 getContext ().setAutowiredEnabled (false)
。
ENTESB-17061 - Can't run mongo-db-source kamelet 路由与非管理员用户 - Failed to start route mongodb-source-1 due of null
无法使用非管理员用户凭证运行 mongo-db-source kamelet
路由。部分组件需要 admin 凭据,因此无法以非管理员用户身份运行路由。
1.7. Camel K 修复的问题
以下小节列出了 Red Hat Integration 中修复的问题 - Camel K 1.8.1.redhat-00024。
1.7.1. Camel K 1.8.1.redhat-00024 中的功能请求
下表列出了 Camel K 1.8.1.redhat-00024 中的功能请求。
问题 | Description |
---|---|
Camel K - Kamelet for Red Hat Ceph Storage Object (S3) | |
创建 JIRA Sink kamelets |
1.7.2. Camel K 1.8.1.redhat-00024 的改进
下表列出了 Camel K 1.8.1.redhat-00024 中的增强功能。
问题 | Description |
---|---|
将 Camel K 产品版本与实际产品版本同步 | |
考虑将 Camel-K 运算符迁移到 ALL-NAMESPACES | |
将 operator 升级到 1.x 和 1.6.x 频道继续 | |
为 camel-kamelet-utils 添加单元测试 |
1.7.3. Camel K 1.8.1.redhat-00024 中解决的错误
下表列出了 Camel K 1.8.1.redhat-00024 中已解决的错误。
问题 | Description |
---|---|
CVE-2021-22135 elasticsearch: 在 Elasticsearch 推荐器 [rhint-camel-k-1] 中记录披露漏洞。 | |
CVE-2021-29427 gradle: 存储库内容过滤器无法在 Settings pluginManagement [rhint-camel-k-1] 中正常工作 | |
CVE-2021-28169 jetty: 对 ConcatServlet 和 WelcomeFilter 的请求能够访问 WEB-INF 目录中的受保护资源 [rhint-camel-k-1] | |
CVE-2021-34428 jetty: SessionListener 可能会阻止会话无效破坏 logout [rhint-camel-k-1] | |
CVE-2021-3642 wildfly-elytron: ScramServer [rhint-camel-k-1] | |
Kamelet has-header-filter-action 与上游不同。 | |
Camel K 镜像不会为 golang 代码创建 PST 清单 | |
Camel K 1.6.0 源包含多个缺陷(技术预览 + 错误版本) | |
AWS Redshift Sink kamelet dependency mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.5 missing in bom | |
Salesforce Source kamelet: notifyForFields isnt available | |
AWS S3 Streaming upload kamelet: streamingUploadMode 可能被配置 | |
CVE-2022-30973 tika-core:对 CVE-2022-30126 [rhint-camel-k-1] 不完整修复 | |
对频道 1.8.x 升级测试失败并显示 "2 replacement chains" | |
action kamelet 测试在 Unsupported 字段中失败: unmarshalTypeName | |
使用 kamel install 时覆盖默认 maven 软件仓库 | |
Camel-K 1.8.1.CK1 unaligned 版本 | |
无法使用原生模式运行 kameletBinding | |
MRRC 中的错误 snakeyaml 依赖项 | |
Elasticsearch 源 Kamelet 无法用于基本身份验证 |