6.6. 部署 Kafka Bridge
Cluster Operator 部署一个或多个 Kafka 网桥副本,以通过 HTTP API 在 Kafka 集群和客户端之间发送数据。
6.6.1. 在 OpenShift 集群中部署 Kafka Bridge 复制链接链接已复制到粘贴板!
此流程演示了如何使用 Cluster Operator 将 Kafka Bridge 集群部署到 OpenShift 集群。
部署使用 YAML 文件来提供规格来创建 KafkaBridge
资源。
AMQ Streams 提供示例配置文件。在此过程中,我们使用以下示例文件:
-
examples/bridge/kafka-bridge.yaml
流程
将 Kafka Bridge 部署到 OpenShift 集群:
oc apply -f examples/bridge/kafka-bridge.yaml
oc apply -f examples/bridge/kafka-bridge.yaml
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 检查部署的状态:
oc get deployments -n <my_cluster_operator_namespace>
oc get deployments -n <my_cluster_operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示了部署名称和就绪状态
NAME READY UP-TO-DATE AVAILABLE my-bridge-bridge 1/1 1 1
NAME READY UP-TO-DATE AVAILABLE my-bridge-bridge 1/1 1 1
Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-bridge
是 Kafka Bridge 集群的名称。READY
显示 ready/expected 的副本数量。当AVAILABLE
输出显示为1
时,部署成功。
6.6.2. 将 Kafka Bridge 服务公开给本地机器中 复制链接链接已复制到粘贴板!
使用端口转发将 AMQ Streams Kafka Bridge 服务公开给 http://localhost:8080 上的本地机器。
端口转发仅适用于开发和测试目的。
流程
列出 OpenShift 集群中 pod 的名称:
oc get pods -o name pod/kafka-consumer # ... pod/my-bridge-bridge-7cbd55496b-nclrt
oc get pods -o name pod/kafka-consumer # ... pod/my-bridge-bridge-7cbd55496b-nclrt
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 连接到端口
8080
上的 Kafka Bridge pod:oc port-forward pod/my-bridge-bridge-7cbd55496b-nclrt 8080:8080 &
oc port-forward pod/my-bridge-bridge-7cbd55496b-nclrt 8080:8080 &
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果本地机器上的端口 8080 已使用,请使用其他 HTTP 端口,如
8008
。
API 请求现在从本地机器的端口 8080 转发到 Kafka Bridge pod 的端口 8080。
6.6.3. 在 OpenShift 之外访问 Kafka Bridge 复制链接链接已复制到粘贴板!
部署后,AMQ Streams Kafka Bridge 只能由同一 OpenShift 集群中运行的应用程序访问。这些应用程序使用 < ;kafka_bridge_name> -bridge-service
服务来访问 API。
如果要让 Kafka Bridge 可以被 OpenShift 集群外运行的应用程序访问,您可以通过创建以下功能来手动公开:
-
LoadBalancer
或NodePort
类型服务 -
Ingress
资源 - OpenShift 路由
如果您决定创建服务,请使用 < kafka_bridge_name> -bridge-service
服务 选择器
中的标签来配置服务要路由流量的 pod:
# ... selector: strimzi.io/cluster: kafka-bridge-name strimzi.io/kind: KafkaBridge #...
# ...
selector:
strimzi.io/cluster: kafka-bridge-name
strimzi.io/kind: KafkaBridge
#...
- 1
- OpenShift 集群中的 Kafka Bridge 自定义资源的名称。