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 pods -n <my_cluster_operator_namespace>
oc get pods -n <my_cluster_operator_namespace>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 输出显示部署名称和就绪度
NAME READY STATUS RESTARTS my-bridge-bridge-<pod_id> 1/1 Running 0
NAME READY STATUS RESTARTS my-bridge-bridge-<pod_id> 1/1 Running 0
Copy to Clipboard Copied! Toggle word wrap Toggle overflow my-bridge
是 Kafka Bridge 集群的名称。pod ID 标识创建的每个 pod。
使用默认部署,您会安装单个 Kafka Bridge pod。
READY
显示就绪/预期的副本数。当STATUS
显示为Running
时,部署可以成功。
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-<pod_id>
oc get pods -o name pod/kafka-consumer # ... pod/my-bridge-bridge-<pod_id>
Copy to Clipboard Copied! Toggle word wrap Toggle overflow 在端口
8080
上连接到 Kafka Bridge pod:oc port-forward pod/my-bridge-bridge-<pod_id> 8080:8080 &
oc port-forward pod/my-bridge-bridge-<pod_id> 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
资源(仅限 Kubernetes) - OpenShift 路由(仅限 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 自定义资源的名称。