B.9.2. type


该类型设置为 internal,或针对外部监听器,作为 路由loadbalancernodeportingress

internal

您可以使用 tls 属性使用或不加密配置内部监听程序。

内部 监听程序配置示例

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: plain
        port: 9092
        type: internal
        tls: false
      - name: tls
        port: 9093
        type: internal
        tls: true
        authentication:
          type: tls
    #...
Copy to Clipboard Toggle word wrap

route

配置外部侦听器以使用 OpenShift Route 和 HAProxy 路由器公开 Kafka。

为每个 Kafka 代理 pod 创建一个专用 路由。创建一个额外的 Route 来充当 Kafka bootstrap 地址。Kafka 客户端可以使用这些 路由 连接端口 443 上的 Kafka。客户端在端口 443(默认路由器端口)上连接,但流量将路由到您配置的端口,本例中为 9094

路由 监听程序配置示例

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external1
        port: 9094
        type: route
        tls: true
    #...
Copy to Clipboard Toggle word wrap

ingress

配置一个外部监听程序以使用 Kubernetes Ingress 和 Kubernetes 的 NGINX Ingress Controller 公开 Kafka。

为每个 Kafka 代理 Pod 创建一个专用的 Ingress 资源。创建一个额外的 Ingress 资源来充当 Kafka bootstrap 地址。Kafka 客户端可以使用这些 Ingress 资源连接到端口 443 上的 Kafka。客户端在端口 443(默认控制器端口)上连接,但流量会路由到您配置的端口,以下示例中是 9095

您必须使用 GenericKafkaListenerConfigurationBootstrap 和 GenericKafkaListenerConfiguration Broker 属性指定 bootstrap 和每个broker 服务使用的主机名。

ingress 侦听器配置示例

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external2
        port: 9095
        type: ingress
        tls: false
        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
  #...
Copy to Clipboard Toggle word wrap

注意

使用 Ingress 的外部监听程序目前只使用 Kubernetes 的 NGINX Ingress Controller 测试。

LoadBalancer

配置一个外部监听程序来公开 Kafka Loadbalancer 类型 服务

为每个 Kafka 代理 pod 创建一个新的负载均衡器服务。创建一个额外的负载均衡器来充当 Kafka bootstrap 地址。Loadbalancers 侦听指定的端口号,以下示例中是端口 9094

您可以使用 loadBalancerSourceRanges 属性配置 源范围,以限制对指定 IP 地址的访问。

loadbalancer 侦听器配置示例

#...
spec:
  kafka:
    #...
    listeners:
      - name: external3
        port: 9094
        type: loadbalancer
        tls: true
        configuration:
          loadBalancerSourceRanges:
            - 10.0.0.0/8
            - 88.208.76.87/32
    #...
Copy to Clipboard Toggle word wrap

NodePort

配置外部侦听器以使用 NodePort 类型 服务 公开 Kafka。

Kafka 客户端直接连接到 OpenShift 节点。创建额外的 NodePort 类型服务作为 Kafka bootstrap 地址。

在为 Kafka 代理 Pod 配置公告的地址时,AMQ Streams 使用运行给定 pod 的节点的地址。您可以使用 preferredNodePortAddressType 属性配置 第一个地址类型作为节点地址检查

nodeport 侦听器配置示例

#...
spec:
  kafka:
    #...
    listeners:
      #...
      - name: external4
        port: 9095
        type: nodeport
        tls: false
        configuration:
          preferredNodePortAddressType: InternalDNS
    #...
Copy to Clipboard Toggle word wrap

注意

在使用节点端口公开 Kafka 集群时,当前不支持 TLS 主机名验证。

返回顶部
Red Hat logoGithubredditYoutubeTwitter

学习

尝试、购买和销售

社区

关于红帽文档

通过我们的产品和服务,以及可以信赖的内容,帮助红帽用户创新并实现他们的目标。 了解我们当前的更新.

让开源更具包容性

红帽致力于替换我们的代码、文档和 Web 属性中存在问题的语言。欲了解更多详情,请参阅红帽博客.

關於紅帽

我们提供强化的解决方案,使企业能够更轻松地跨平台和环境(从核心数据中心到网络边缘)工作。

Theme

© 2025 Red Hat