12.2. 使用标签和注解发现服务
服务发现使得在与 AMQ Streams 相同的 OpenShift 集群中运行的客户端应用可以更轻松地与 Kafka 集群交互。
为用于访问 Kafka 集群的服务生成 服务发现 标签和注解:
- 内部 Kafka bootstrap 服务
- HTTP Bridge 服务
该标签有助于使服务可被发现,注释提供了客户端应用程序可用于进行连接的连接详情。
Service
资源的服务发现标签, strimzi.io/discovery
设置为 true
。服务发现注释具有相同的密钥,以 JSON 格式提供每个服务的连接详细信息。
内部 Kafka bootstrap 服务示例
apiVersion: v1 kind: Service metadata: annotations: strimzi.io/discovery: |- [ { "port" : 9092, "tls" : false, "protocol" : "kafka", "auth" : "scram-sha-512" }, { "port" : 9093, "tls" : true, "protocol" : "kafka", "auth" : "tls" } ] labels: strimzi.io/cluster: my-cluster strimzi.io/discovery: "true" strimzi.io/kind: Kafka strimzi.io/name: my-cluster-kafka-bootstrap name: my-cluster-kafka-bootstrap spec: #...
HTTP Bridge 服务示例
apiVersion: v1 kind: Service metadata: annotations: strimzi.io/discovery: |- [ { "port" : 8080, "tls" : false, "auth" : "none", "protocol" : "http" } ] labels: strimzi.io/cluster: my-bridge strimzi.io/discovery: "true" strimzi.io/kind: KafkaBridge strimzi.io/name: my-bridge-bridge-service
12.2.1. 返回服务的连接详情
您可以从命令行或对应的 API 调用时指定发现标签来查找服务。
oc get service -l strimzi.io/discovery=true
在检索服务发现标签时,将返回连接详情。