20.6. 使用标签和注解发现服务
通过服务发现,可以更轻松地在与 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
20.6.1. 返回服务的连接详情 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
您可以在从命令行或对应的 API 调用时指定发现标签来查找服务。
oc get service -l strimzi.io/discovery=true
检索服务发现标签时会返回连接详情。