B.18. GenericKafkaListenerConfigurationBroker schema reference

用于:GenericKafkaListenerConfiguration

为外部监听程序配置代理服务覆盖。

您可以在 GenericKafkaListenerConfigurationBootstrap 模式中 看到 nodePorthost、loadBalancerIPannotations 属性的示例配置,它为外部监听器配置 bootstrap 服务覆盖。

代理公告的地址

默认情况下,AMQ Streams 会尝试自动确定 Kafka 集群公告给客户端的主机名和端口。这并不适用于所有情况,因为运行 AMQ Streams 的基础架构可能无法提供可以通过其访问 Kafka 的正确主机名或端口。

您可以指定一个代理 ID,并在外部监听器 的配置 属性中自定义公告的主机名和端口。然后,AMQ Streams 将自动在 Kafka 代理中配置公告的地址,并将其添加到代理证书中,以便用于 TLS 主机名验证。覆盖公告的主机和端口可供所有类型的外部监听器使用。

配置了针对公告地址覆盖的外部 路由 监听程序示例

listeners:
  #...
  - name: external
    port: 9094
    type: route
    tls: true
    authentication:
      type: tls
    configuration:
      brokers:
      - broker: 0
        advertisedHost: example.hostname.0
        advertisedPort: 12340
      - broker: 1
        advertisedHost: example.hostname.1
        advertisedPort: 12341
      - broker: 2
        advertisedHost: example.hostname.2
        advertisedPort: 12342
# ...

属性描述

broker

kafka 代理的 ID(代理标识符)。代理 ID 从 0 开始,对应于代理副本数。

整数

advertisedHost

代理的 advertised .brokers 中将使用的主机名。

字符串

advertisedPort

代理的 advertised .brokers 中将使用 的端口号。

整数

主机

代理主机。此字段将用于 Ingress 资源或 Route 资源,以指定所需的主机名。此字段只能与 路由 (可选)或 ingress (必需)类型侦听器一起使用。

字符串

nodePort

每个broker 服务的节点端口。此字段只能用于 nodeport 类型监听程序。

整数

loadBalancerIP

使用此字段中指定的 IP 地址请求 loadbalancer。此功能取决于底层云供应商是否支持在创建负载均衡器时指定 loadBalancerIP。如果云供应商不支持这个功能,则此字段将被忽略。This 字段只能用于 loadbalancer 类型监听程序。

字符串

annotations

添加到 IngressService 资源的注解。您可以使用此字段配置 DNS 供应商,如外部 DNS。此字段只能用于 loadbalancer、node portingress 类型监听程序。

map