6.4. 部署 Kafka Bridge
Cluster Operator 部署一个或多个 Kafka 网桥副本,以通过 HTTP API 在 Kafka 集群和客户端之间发送数据。
6.4.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.yamlCopy 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 1Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-bridge是 Kafka Bridge 集群的名称。READY显示 ready/expected 的副本数量。当AVAILABLE输出显示为1时,部署成功。
6.4.2. 将 Kafka Bridge 服务公开给本地机器中 复制链接链接已复制到粘贴板!
使用端口转发将 AMQ Streams Kafka Bridge 服务公开给 http://localhost:8080 上的本地机器。
端口转发仅适用于开发和测试目的。
流程
列出 OpenShift 集群中 pod 的名称:
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 连接到端口
8080上的 Kafka Bridge pod:oc port-forward pod/quickstart-bridge-589d78784d-9jcnr 8080:8080 &
oc port-forward pod/quickstart-bridge-589d78784d-9jcnr 8080:8080 &Copy to Clipboard Copied! Toggle word wrap Toggle overflow 注意如果本地机器上的端口 8080 已使用,请使用其他 HTTP 端口,如
8008。
API 请求现在从本地机器的端口 8080 转发到 Kafka Bridge pod 的端口 8080。
6.4.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 自定义资源的名称。