8.2.6. 将监听程序更新到通用监听器配置

AMQ Streams 提供 GenericKafkaListener 模式,用于在 Kafka 资源 中配置 Kafka 侦听器。

GenericKafkaListener 替换 KafkaListeners 模式,它已从 AMQ Streams 中删除。

使用 GenericKafkaListener 模式时,您可以根据需要配置多个监听器,只要它们的名称和端口是唯一的。监听器 配置被定义为数组,但已弃用的格式也受到支持。

对于 OpenShift 集群内的客户端,您可以创建 普通 (无需加密)或 tls 内部 侦听器。

对于 OpenShift 集群外的客户端,您可以创建 外部 侦听器并指定连接机制,可以是 节点端口负载均衡器、 入口路由

KafkaListeners 模式将子属性用于 纯文本tls 和外部 监听程序,以及每个节点的固定端口。在升级过程的任何阶段,您必须将使用 KafkaListeners 模式配置的监听程序转换为 GenericKafkaListener 模式的格式。

例如,如果您当前在 Kafka 配置中使用以下配置:

旧监听程序配置

listeners:
  plain:
    # ...
  tls:
    # ...
  external:
    type: loadbalancer
    # ...

使用以下方法将监听程序转换为新格式:

新的监听程序配置

listeners:
  #...
  - name: plain
    port: 9092
    type: internal
    tls: false 1
  - name: tls
    port: 9093
    type: internal
    tls: true
  - name: external
    port: 9094
    type: EXTERNAL-LISTENER-TYPE 2
    tls: true

1
现在,所有监听器都需要 TLS 属性。
2
选项: 入口负载均衡器、 节点端口路由

确保使用显示 的确切 名称和端口号。

对于任何其他 配置覆盖 使用旧格式的属性,您需要将它们更新为新格式。

对监听程序 配置 进行了更改:

  • 覆盖configuration 部分合并
  • dnsAnnotations 已重命名为 注解
  • preferredAddressType has been renamed preferredNodePortAddressType
  • 地址 已被重命名为 alternativesNames
  • LoadBalancerSourceRanges 和 external TrafficPolicy 移至现在已弃用 的模板中的监听程序配置

例如,这个配置:

旧的其他监听程序配置

listeners:
  external:
    type: loadbalancer
    authentication:
      type: tls
    overrides:
      bootstrap:
        dnsAnnotations:
          #...

更改:

新的附加监听程序配置

listeners:
    #...
  - name: external
    port: 9094
    type:loadbalancer
    tls: true
    authentication:
      type: tls
    configuration:
      bootstrap:
        annotations:
          #...

重要

新监听器配置中显示的名称和端口号 必须 用于向后兼容。使用任何其他值将导致 Kafka 侦听器和 OpenShift 服务重命名。

有关各种侦听器可用的配置选项的更多信息,请参阅 GenericKafkaListener 模式参考