搜索

6.7. 部署 Kafka Bridge

download PDF

Kafka Bridge 提供了一个 API,用于将基于 HTTP 的客户端与 Kafka 集群集成。

6.7.1. 在 OpenShift 集群中部署 Kafka Bridge

此流程演示了如何使用 Cluster Operator 将 Kafka Bridge 集群部署到 OpenShift 集群。

部署使用 YAML 文件来提供规格来创建 KafkaBridge 资源。

Apache Kafka 的流提供了 示例配置文件。在此过程中,我们使用以下示例文件:

  • examples/bridge/kafka-bridge.yaml

流程

  1. 将 Kafka Bridge 部署到 OpenShift 集群:

    oc apply -f examples/bridge/kafka-bridge.yaml
  2. 检查部署的状态:

    oc get pods -n <my_cluster_operator_namespace>

    输出显示部署名称和就绪

    NAME                       READY  STATUS   RESTARTS
    my-bridge-bridge-<pod_id>  1/1    Running  0

    my-bridge 是 Kafka Bridge 集群的名称。

    标识创建的每个 pod 的 pod ID。

    使用默认部署,您会安装单个 Kafka Bridge pod。

    READY 显示就绪/预期的副本数。当 STATUS 显示为 Running 时,部署成功。

6.7.2. 将 Kafka Bridge 服务公开给本地机器

使用端口转发将 Apache Kafka Bridge 服务的流公开给您的 http://localhost:8080 上的本地机器。

注意

端口转发仅适用于开发和测试目的。

流程

  1. 列出 OpenShift 集群中 pod 的名称:

    oc get pods -o name
    
    pod/kafka-consumer
    # ...
    pod/my-bridge-bridge-<pod_id>
  2. 连接到端口 8080 上的 Kafka Bridge pod:

    oc port-forward pod/my-bridge-bridge-<pod_id> 8080:8080 &
    注意

    如果本地计算机上的端口 8080 已经在使用,请使用备用 HTTP 端口,如 8008

API 请求现在从本地机器上的端口 8080 转发到 Kafka Bridge pod 中的端口 8080。

6.7.3. 在 OpenShift 之外访问 Kafka Bridge

部署后,Apache Kafka Bridge 的流只能被在同一 OpenShift 集群中运行的应用程序访问。这些应用程序使用 &lt ;kafka_bridge_name&gt; -bridge-service 服务来访问 API。

如果要使 Kafka Bridge 可以被 OpenShift 集群外部运行的应用程序访问,您可以通过创建以下功能之一来手动公开它:

  • LoadBalancerNodePort 类型服务
  • Ingress 资源(仅限 Kubernetes)
  • OpenShift 路由(仅限 OpenShift)

如果您决定创建服务,请使用 < kafka_bridge_name>-bridge-service 服务 的选择器 中的标签来配置服务将流量路由到的 pod:

  # ...
  selector:
    strimzi.io/cluster: kafka-bridge-name 1
    strimzi.io/kind: KafkaBridge
  #...
1
OpenShift 集群中的 Kafka Bridge 自定义资源的名称。

6.7.4. Kafka Bridge 集群资源列表

以下资源由 OpenShift 集群中的 Cluster Operator 创建:

<bridge_cluster_name>-bridge
用于创建 Kafka Bridge worker 节点 pod 的部署。
<bridge_cluster_name>-bridge-service
公开 Kafka Bridge 集群的 REST 接口的服务。
<bridge_cluster_name>-bridge-config
包含 Kafka Bridge acillary 配置的 ConfigMap,并由 Kafka 代理 pod 挂载为卷。
<bridge_cluster_name>-bridge
为 Kafka Bridge worker 节点配置的 Pod Disruption Budget。
Red Hat logoGithubRedditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

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

让开源更具包容性

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

關於紅帽

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

© 2024 Red Hat, Inc.