第 1 章 Kamelets 概述


kamelet 是高级连接器,可作为事件驱动的架构解决方案中的构建块。这些是您可以在 OpenShift 集群上安装并用于 Camel K 集成的自定义资源。kamelets 加快您的开发工作。它们简化了如何连接数据源(发送事件)和数据接收器(这消耗事件)。由于您要配置 Kamelet 参数而不是编写代码,因此您不需要熟悉 Camel DSL 来使用 Kamelets。

您可以使用 Kamelets 直接将应用程序和服务相互连接,或者:

1.1. 关于 Kamelets

kamelets 是路由组件(封装代码),它们充当 Camel 集成中的连接器。您可以将 Kamelets 视为模板,用于定义使用位置(源)以及将数据发送到(接收器) - 允许您编译数据管道。kamelets 也可以过滤、掩码和执行数据上的简单计算逻辑。

Kamelets 有三种不同类型的:

  • Source - 生成数据的路由。您可以使用 source Kamelet 从组件检索数据。
  • sink - 消耗数据的路由。您可以使用 sink Kamelet 将数据发送到组件。
  • action - 对数据执行操作的路由。当一个从源 Kamelet 传递给一个 sink Kamelet 时,您可以使用 Kamelet 操作数据。

1.1.1. 为什么使用 Kamelets?

微服务和 事件驱动的构架解决方案中,Knativedumps 可以充当发送事件的事件和接收器的源的构建块。

kamelet 提供抽象(隐藏连接到外部系统的复杂性)和可重复利用(它们是重复使用代码并将其应用到不同的用例的简单方法)。

以下是一些用例示例:

  • 您希望应用程序消耗来自 192.168.1.0/24gram 的事件,您可以使用 Kamelets 将 definegram 源绑定到事件频道。之后,您可以将应用程序连接到该频道,以便其响应这些事件。
  • 您希望您的应用程序将 Salesforce 直接连接到 Slack。

kamelets 允许您和集成开发团队更有效地。您可以重复使用 Kamelets,并将它们与团队成员共享,这些成员可根据其特定需求配置实例。底层 Camel K operator 执行硬工作:它会编译、构建、软件包和部署 Kamelet 定义的集成。

1.1.2. 谁使用 Kamelets?

由于 Kamelets 允许您减少 Camel 集成中所需的编码量,因此他们对于不熟悉 Camel DSL 的开发人员来说是理想的选择。kamelets 可以帮助平稳处理非 Camel 开发者的学习曲线。不需要学习另一个框架或语言来获取 Camel 运行。

kamelets 对于希望将复杂 Camel 集成逻辑封装到可重复使用的 Kamelet,然后将其与其他用户共享的熟悉的 Camel 开发人员也很有用。

1.1.3. 使用 Kamelets 的先决条件是什么?

要使用 Kamelets,您需要以下环境设置:

  • 您可以使用正确的访问级别访问 OpenShift 4.6 (或更新版本)集群、创建项目并安装 Operator 的功能,以及在本地系统上安装 OpenShift 和 Camel K CLI 工具。
  • 您在命名空间或集群范围安装了 Camel K operator,如 安装 Camel K所述
  • 已安装 OpenShift 命令行(oc)接口工具。
  • (可选)您使用 Camel K 插件安装 VS 代码或其他开发工具。基于 Camel 的工具扩展包括基于嵌入式 Kamelet Catalog 自动完成 Camel URI 等功能。如需更多信息,请参阅 Camel K 入门中的 Camel K 开发工具部分。

    注: Visual Studio (VS)代码工具扩展仅是社区。

1.1.4. 如何使用 Kamelets?

使用 Kamelet 通常涉及两个组件: Kamelet 本身,它定义了一个可重复使用的路由片断,以及一个 Kamelet Binding,在其中引用并绑定一个或多个 Kamelets。Kamelet Binding 是一个 OpenShift 资源(KameletBinding)。

在 Kamelet Binding 资源中,您可以:

  • 将 sink 或源 Kamelet 连接到事件频道: Kafka 主题或 Knative 目的地(频道或代理)。
  • 将接收器 Kamelet 直接连接到 Camel 统一资源标识符(URI)。您还可以将源 Kamelet 连接到 Camel URI,但连接 URI 和接收器 Kamelet 是最常见的用例。
  • 将接收器和源 Kamelet 直接连接到彼此,而无需将事件频道用作中间层。
  • 在同一 Kamelet Binding 中多次引用同一 Kamelet。
  • 添加 action Kamelets,以便在从源 Kamelet 传递给 sink Kamelet 时操作数据。
  • 定义错误处理策略,以指定在发送或接收事件数据时出现问题时 Camel K 应该做什么。

在运行时,Camel K operator 使用 Kamelet Binding 生成并运行 Camel K 集成。

注: 虽然 Camel DSL 开发人员可以直接在 Camel K 集成中使用 Kamelets,但实现 Kamelets 的更简单方法是通过指定 Kamelet Binding 资源来构建高级别事件流。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

Theme

© 2025 Red Hat, Inc.