红帽构建的 Apache Camel K 1.8 发行注记


Red Hat build of Apache Camel K 1.8

红帽构建的 Apache Camel K 的新功能

摘要

描述红帽构建的 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.e set-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

camel-quarkus-aws2-kinesis

AWS 2 Lambda

camel-quarkus-aws2-lambda

AWS 2 S3 Storage Service

camel-quarkus-aws2-s3

AWS 2 简单通知系统(SNS)

camel-quarkus-aws2-sns

AWS 2 Simple Queue Service (SQS)

camel-quarkus-aws2-sqs

Cassandra CQL

camel-quarkus-cassandraql

File

camel-quarkus-file

FTP

camel-quarkus-ftp

FTPS

camel-quarkus-ftp

SFTP

camel-quarkus-ftp

HTTP

camel-quarkus-http

JMS

camel-quarkus-jms

Kafka

camel-quarkus-kafka

Kamelets

camel-quarkus-kamelet

指标

camel-quarkus-microprofile-metrics

MongoDB

camel-quarkus-mongodb

Salesforce

camel-quarkus-salesforce

SQL

camel-quarkus-sql

timer

camel-quarkus-timer

1.4.2. 支持的 Camel Quarkus 数据格式扩展

下表显示了支持 Camel K 版本的 Camel Quarkus 数据格式扩展(只在 Camel K 应用程序内使用时)。

名称软件包

Avro

camel-quarkus-avro

Bindy (对于 CSV)

camel-qaurkus-bindy

Gson

camel-quarkus-gson

JSON Jackson

camel-quarkus-jackson

jackson Avro

camel-quarkus-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

表 1.1. Kamelets 提供 Camel K operator
Kamelet文件名类型(Sink、Source、Action)

Ceph sink

ceph-sink.kamelet.yaml

sink

Ceph 源

ceph-source.kamelet.yaml

JIRA Add Comment sink

jira-add-comment-sink.kamelet.yaml

sink

JIRA Add Issue sink

jira-add-issue-sink.kamelet.yaml

sink

JIRA Transition Issue sink

jira-transition-issue-sink.kamelet.yaml

sink

JIRA Update Issue sink

jira-update-issue-sink.kamelet.yaml

sink

Avro Deserialize 操作

avro-deserialize-action.kamelet.yaml

操作(数据转换)

Avro Serialize 操作

avro-serialize-action.kamelet.yaml

操作(数据转换)

AWS DynamoDB sink

aws-ddb-sink.kamelet.yaml

sink

AWS Redshift sink

aws-redshift-sink.kamelet.yaml

sink

AWS 2 Kinesis sink

aws-kinesis-sink.kamelet.yaml

sink

AWS 2 Kinesis 源

aws-kinesis-source.kamelet.yaml

AWS 2 Lambda sink

aws-lambda-sink.kamelet.yaml

sink

AWS 2 简单通知系统接收器

aws-sns-sink.kamelet.yaml

sink

AWS 2 Simple Queue Service sink

aws-sqs-sink.kamelet.yaml

sink

AWS 2 简单队列服务源

aws-sqs-source.kamelet.yaml

AWS 2 Simple Queue Service FIFO sink

aws-sqs-fifo-sink.kamelet.yaml

sink

AWS 2 S3 sink

aws-s3-sink.kamelet.yaml

sink

AWS 2 S3 源

aws-s3-source.kamelet.yaml

AWS 2 S3 Streaming Upload sink

aws-s3-streaming-upload-sink.kamelet.yaml

sink

Azure Storage Blob Source (技术预览)

azure-storage-blob-source.kamelet.yaml

Azure Storage Blob Sink (技术预览)

azure-storage-blob-sink.kamelet.yaml

sink

Azure Storage Queue Source (技术预览)

azure-storage-queue-source.kamelet.yaml

Azure Storage Queue Sink (技术预览)

azure-storage-queue-sink.kamelet.yaml

sink

Cassandra sink

cassandra-sink.kamelet.yaml

sink

Cassandra 源

cassandra-source.kamelet.yaml

提取字段操作

extract-field-action.kamelet.yaml

操作

FTP sink

ftp-sink.kamelet.yaml

sink

FTP 源

ftp-source.kamelet.yaml

具有标头键过滤器操作

has-header-filter-action.kamelet.yaml

操作(数据转换)

Hoist 字段操作

hoist-field-action.kamelet.yaml

操作

HTTP sink

http-sink.kamelet.yaml

sink

插入字段操作

insert-field-action.kamelet.yaml

操作(数据转换)

插入标头操作

insert-header-action.kamelet.yaml

操作(数据转换)

is Tombstone Filter action

is-tombstone-filter-action.kamelet.yaml

操作(数据转换)

JIRA 源

jira-source.kamelet.yaml

JMS sink

jms-amqp-10-sink.kamelet.yaml

sink

JMS 源

jms-amqp-10-source.kamelet.yaml

JMS IBM MQ sink

jms-ibm-mq-sink.kamelet.yaml

sink

JMS IBM MQ 源

jms-ibm-mq-source.kamelet.yaml

JSON 重序列化操作

json-deserialize-action.kamelet.yaml

操作(数据转换)

JSON Serialize 操作

json-serialize-action.kamelet.yaml

操作(数据转换)

Kafka 接收器

kafka-sink.kamelet.yaml

sink

Kafka 源

kafka-source.kamelet.yaml

Kafka Topic Name Filter action

topic-name-matches-filter-action.kamelet.yaml

操作(数据转换)

日志记录 sink (用于开发和测试目的)

log-sink.kamelet.yaml

sink

MariaDB sink

mariadb-sink.kamelet.yaml

sink

掩码字段操作

mask-field-action.kamelet.yaml

操作(数据转换)

Message TimeStamp Router action

message-timestamp-router-action.kamelet.yaml

操作(路由器)

MongoDB sink

mongodb-sink.kamelet.yaml

sink

MongoDB 源

mongodb-source.kamelet.yaml

MySQL sink

mysql-sink.kamelet.yaml

sink

PostgreSQL sink

postgresql-sink.kamelet.yaml

sink

predicate 过滤器操作

predicate-filter-action.kamelet.yaml

操作(路由器/过滤器)

protobuf Deserialize action

protobuf-deserialize-action.kamelet.yaml

操作(数据转换)

protobuf Serialize 操作

protobuf-serialize-action.kamelet.yaml

操作(数据转换)

正则表达式路由器操作

regex-router-action.kamelet.yaml

操作(路由器)

替换 Field 操作

replace-field-action.kamelet.yaml

操作

Salesforce Create

salesforce-create-sink.kamelet.yaml

sink

Salesforce Delete

salesforce-delete-sink.kamelet.yaml

sink

Salesforce 更新

salesforce-update-sink.kamelet.yaml

sink

SFTP sink

sftp-sink.kamelet.yaml

sink

SFTP 源

sftp-source.kamelet.yaml

Slack 源

slack-source.kamelet.yaml

SQL Server 数据库 sink

sqlserver-sink.kamelet.yaml

sink

Telegram 源

telegram-source.kamelet.yaml

throttle 操作

throttle-action.kamelet.yaml

操作

计时器源(用于开发和测试目的)

timer-source.kamelet.yaml

时间戳路由器操作

timestamp-router-action.kamelet.yaml

操作(路由器)

密钥操作值

value-to-key-action.kamelet.yaml

操作(数据转换)

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 中的功能请求。

表 1.2. Camel K 1.8.1.redhat-00024 增强
问题Description

ENTESB-19061

Camel K - Kamelet for Red Hat Ceph Storage Object (S3)

ENTESB-19366

创建 JIRA Sink kamelets

1.7.2. Camel K 1.8.1.redhat-00024 的改进

下表列出了 Camel K 1.8.1.redhat-00024 中的增强功能。

表 1.3. Camel K 1.8.1.redhat-00024 增强
问题Description

ENTESB-16888

将 Camel K 产品版本与实际产品版本同步

ENTESB-16931

考虑将 Camel-K 运算符迁移到 ALL-NAMESPACES

ENTESB-17173

将 operator 升级到 1.x 和 1.6.x 频道继续

ENTESB-19598

为 camel-kamelet-utils 添加单元测试

1.7.3. Camel K 1.8.1.redhat-00024 中解决的错误

下表列出了 Camel K 1.8.1.redhat-00024 中已解决的错误。

表 1.4. Camel K 1.8.1.redhat-00024 解决的错误
问题Description

ENTESB-16168

CVE-2021-22135 elasticsearch: 在 Elasticsearch 推荐器 [rhint-camel-k-1] 中记录披露漏洞。

ENTESB-16326

CVE-2021-29427 gradle: 存储库内容过滤器无法在 Settings pluginManagement [rhint-camel-k-1] 中正常工作

ENTESB-16746

CVE-2021-28169 jetty: 对 ConcatServlet 和 WelcomeFilter 的请求能够访问 WEB-INF 目录中的受保护资源 [rhint-camel-k-1]

ENTESB-16924

CVE-2021-34428 jetty: SessionListener 可能会阻止会话无效破坏 logout [rhint-camel-k-1]

ENTESB-17037

CVE-2021-3642 wildfly-elytron: ScramServer [rhint-camel-k-1]

ENTESB-17559

Kamelet has-header-filter-action 与上游不同。

ENTESB-17672

Camel K 镜像不会为 golang 代码创建 PST 清单

ENTESB-17931

Camel K 1.6.0 源包含多个缺陷(技术预览 + 错误版本)

ENTESB-19222

AWS Redshift Sink kamelet dependency mvn:com.amazon.redshift:redshift-jdbc42:2.1.0.5 missing in bom

ENTESB-19336

Salesforce Source kamelet: notifyForFields isnt available

ENTESB-19344

AWS S3 Streaming upload kamelet: streamingUploadMode 可能被配置

ENTESB-19392

CVE-2022-30973 tika-core:对 CVE-2022-30126 [rhint-camel-k-1] 不完整修复

ENTESB-19417

对频道 1.8.x 升级测试失败并显示 "2 replacement chains"

ENTESB-19536

action kamelet 测试在 Unsupported 字段中失败: unmarshalTypeName

ENTESB-19670

使用 kamel install 时覆盖默认 maven 软件仓库

ENTESB-19727

Camel-K 1.8.1.CK1 unaligned 版本

ENTESB-19744

无法使用原生模式运行 kameletBinding

ENTESB-19830

MRRC 中的错误 snakeyaml 依赖项

ENTESB-19875

Elasticsearch 源 Kamelet 无法用于基本身份验证

Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.