第 6 章 GenericKafkaListener 模式参考
使用于: KafkaClusterSpec
GenericKafkaListener 模式属性的完整列表
配置监听程序,以连接到 OpenShift 内部和外部的 Kafka 代理。
使用 Kafka 资源中的 listeners 属性配置 Kafka 代理监听程序。监听器被定义为数组。
显示监听程序配置的 Kafka 资源示例
apiVersion: kafka.strimzi.io/v1beta2
kind: Kafka
metadata:
name: my-cluster
spec:
kafka:
#...
listeners:
- name: plain
port: 9092
type: internal
tls: false
- name: tls
port: 9093
type: internal
tls: true
authentication:
type: tls
- name: external1
port: 9094
type: route
tls: true
- name: external2
port: 9095
type: ingress
tls: true
authentication:
type: tls
configuration:
bootstrap:
host: bootstrap.myingress.com
brokers:
- broker: 0
host: broker-0.myingress.com
- broker: 1
host: broker-1.myingress.com
- broker: 2
host: broker-2.myingress.com
#...
在 Kafka 集群中,名称和端口必须是唯一的。通过为每个监听程序指定唯一的名称和端口,您可以配置多个监听程序。名称长度最多可 25 个字符,由小写字母和数字组成。
6.1. 指定端口号 复制链接链接已复制到粘贴板!
复制链接链接已复制到粘贴板!
端口号是 Kafka 集群中使用的端口,这可能不是客户端用来访问的端口。
-
LoadBalancer侦听程序使用指定的端口号,如internal和cluster-ip监听程序 -
Ingress和路由监听程序使用端口 443 访问 -
NodePort侦听程序使用 OpenShift 分配的端口号
对于客户端连接,将地址和端口用于监听器的 bootstrap 服务。您可以从 Kafka 资源的状态中检索它。
检索客户端连接的地址和端口的命令示例
oc get kafka <kafka_cluster_name> -o=jsonpath='{.status.listeners[?(@.name=="<listener_name>")].bootstrapServers}{"\n"}'
重要
当为客户端配置监听程序对代理的访问时,您可以使用端口 9092 或更高版本(9093、9094 等),但有一些例外。侦听程序无法配置为使用为 interbroker 通信(9090 和 9091)、Prometheus 指标(9404)和 JMX (Java 管理扩展)监控(9999)保留的端口。