1.4. kamelets, KameletBindings 和 Pipes
Camel K Operator 捆绑 Kamelets,并将其安装为 kubernetes 对象。对于红帽构建的 Apache Camel for Quarkus 项目,您必须在 maven 项目中管理 kamelets yaml 文件。
管理 kamelets yaml 文件的方法有两种。
-
kamelets 被打包并发布为 maven 工件
org.apache.camel.kamelets:camel-kamelets
。https://github.com/apache/camel-kamelets您可以将这个依赖项添加到pom.xml
中,并在 camel 路由启动时,它会在 classpath 中从该 jar 文件中加载 kamelet yaml 文件。
有开源 kamelet 和由红帽生成的,其工件后缀为 redhat-000nnn
。例如:'1.10.7.redhat-00015'。它们可从 红帽 maven 存储库获取。
2. 将 kamelet yaml 文件添加到 src/main/resources/kamelets
目录中,稍后被打包在最终的可部署工件中。不要在 pom.xml
中声明 org.apache.camel.kamelets:camel-kamelets
。这样,camel 路由会从打包的项目加载 Kamelet yaml 文件。
KameletBinding
被重命名为 Pipe
。因此,请考虑了解用例 3。虽然 kubernetes 资源名称 KameletBinding
仍然被支持,但它已被弃用。我们建议尽快将其重命名为 Pipe
。
我们建议更新 Kamelets,因为 Camel K 1.10.7 开始有很多更新。例如,您可以比较 1.10 和 2.3的 jms-amqp-10-sink.kamelet.yaml。
如果您有自定义 Kamelets,您必须相应地更新它们。
-
将
流
重命名为 Kamelet 文件中的模板
。 -
将
属性
重命名为 bean 属性的属性。
1.4.1. Knative 复制链接链接已复制到粘贴板!
当在 Camel K 中运行与 Knative 端点的集成路由时,Camel K Operator 会创建一些 Knative 对象,如 SinkBindings
、Trigger
、Subscription
。另外,Camel K Operator 会创建 knative.json
环境文件,需要 camel-knative 组件与集群中部署的 Knative 对象交互。
knative.json 示例
红帽构建的 Apache Camel for Quarkus 是一个 maven 项目。您必须手动创建这些 Knative 文件并提供额外的配置。如需了解将集成路由与 Knative 端点迁移,请参阅用例 2。
1.4.2. 监控 复制链接链接已复制到粘贴板!
我们建议您添加自定义标签来标识集群中安装的 kubernetes 对象,以便更轻松地找到这些 kubernetes。默认情况下,quarkus openshift 扩展会添加标签 app.kubernetes.io/name=<app name
>,以便您可以搜索使用此标签创建的对象。
为了监控目的,您可以使用 HawtIO diagnose 控制台 来监控 Camel 应用程序。