14.8. サービスの接続の詳細を返す
サービスディスカバリーは、Streams for Apache Kafka と同じ OpenShift クラスターで稼働しているクライアントアプリケーションの Kafka クラスターとの対話を容易にします。
サービスディスカバリー ラベルおよびアノテーションは、Kafka クラスターにアクセスするために使用されるサービスに対して生成されます。
- 内部 Kafka ブートストラップサービス
- Kafka Bridge サービス
ラベルは、サービスを検出可能にするのに役立ちます。アノテーションは、クライアントアプリケーションが接続を確立するための接続の詳細を提供します。
サービスディスカバリーラベル strimzi.io/discovery
は、Service
リソースに対して true
に設定されています。サービスディスカバリーアノテーションには同じキーがあり、各サービスの接続詳細を JSON 形式で提供します。
内部 Kafka ブートストラップサービスの例
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: #...
Kafka 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
コマンドラインまたは対応する API 呼び出しでサービスを取得するときにディスカバリーラベルを指定して、サービスを検出します。
ディスカバリーラベルを使用してサービスを返す
oc get service -l strimzi.io/discovery=true
サービスディスカバリーラベルの取得時に接続の詳細が返されます。