第 14 章 连接到 Kafka
Apache Kafka 是一个分布式流平台,可用于获取和发布数据。在集成中,您可以从您指定的 Kafka 主题订阅数据,或将数据发布到您指定的 Kafka 主题。要做到这一点,请启用 Fuse Online 来发现集群中的 Kafka 代理。然后,创建到 Kafka 的连接并添加到集成流的连接。详情包括在以下主题中:
14.1. 启用 Kafka 代理/AMQ Streams 的自动发现 复制链接链接已复制到粘贴板!
在集成中,如果您计划连接到一个 AMQ Streams 实例的 Kafka 代理,请在创建 Kafka 连接前启用此类代理的自动发现。这样可以更轻松地创建 Kafka 连接,因为 Fuse Online 可以提供配置连接所需的 Kafka 代理详情。
要启用自动发现,您可以授予 OpenShift 用户帐户特权,以允许该帐户查看集群中的资源。您指定的特定权限可让帐户发现不同的代理子集。
先决条件
- 您在 OCP 现场运行 Fuse Online。
-
已安装
oc客户端工具,并将其连接到要在其中启用 Kafka 代理的自动发现集群。 - 有集群管理权限。
- 要在集成中连接到的 Kafka 代理(AMQ Streams 实例)会在与 Fuse Online 相同的集群中安装。
流程
使用具有集群管理权限的帐户登录 OpenShift。例如:
$ oc login -u admin -p admin确保当前项目是 Fuse Online 运行的项目。要查看当前项目,请调用以下命令:
$ oc project授予向
oc用户帐户启用集群中 Kafka 代理的访问权限的权限。如何配置集群决定了您需要授予的权限。例如,对于 minishift 上的 Strimzi 集群,您可以执行以下操作:创建一个集群角色,可访问集群中的 Kafka/Strimzi 资源。在以下示例中,
kafkas.kafka.strimzi.io-view是新角色的名称:oc create clusterrole kafkas.kafka.strimzi.io-view --verb=get,list --resource=kafkas --resource=crd将此集群角色添加到
oc用户。在以下示例中,syndesis-server是oc用户帐户的名称:oc adm policy add-cluster-role-to-user kafkas.kafka.strimzi.io-view -z syndesis-server
结果
在 Fuse Online 中,当您创建 Kafka 连接时,连接配置页面会显示可用的 Kafka 代理。您可以选择要连接访问的代理。