[ https://issues.apache.org/jira/browse/KAFKA-13003?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17370624#comment-17370624 ]
Uwe Eisele edited comment on KAFKA-13003 at 6/28/21, 2:35 PM: -------------------------------------------------------------- I create a pull request: https://github.com/apache/kafka/pull/10935 The Docker-Compose setup with the fix (proposed in the pull request) works and advertises the configured advertised port. For more details see: https://github.com/ueisele/kafka/tree/fix/kraft-advertisedlisteners-build/proxy-examples/proxyl4-kafkakraft-fix-2.8 was (Author: ueisele): I create a pull request with a fix: https://github.com/apache/kafka/pull/10935 The Docker-Compose setup with the fix (proposed in the pull request) works and advertises the configured advertised port. For more details see: https://github.com/ueisele/kafka/tree/fix/kraft-advertisedlisteners-build/proxy-examples/proxyl4-kafkakraft-fix-2.8 > KafkaBroker advertises socket port instead of the configured advertised port > ---------------------------------------------------------------------------- > > Key: KAFKA-13003 > URL: https://issues.apache.org/jira/browse/KAFKA-13003 > Project: Kafka > Issue Type: Bug > Components: core > Affects Versions: 2.8.0 > Reporter: Uwe Eisele > Assignee: Uwe Eisele > Priority: Major > > In Kraft mode Apache Kafka 2.8.0 does advertise the socket port instead of > the configured advertised port. > A broker given with the following configuration > {code:java} > listeners=PUBLIC://0.0.0.0:19092,REPLICATION://0.0.0.0:9091 > advertised.listeners=PUBLIC://envoy-kafka-broker:9091,REPLICATION://kafka-broker1:9091 > {code} > advertises on the _PUBLIC_ listener _envoy-kafka-broker:19092_, however I > would expect that _envoy-kafka-broker:9091_ is advertised. In ZooKeeper mode > it works as expected. > In a deployment with a L4 proxy in front of the Kafka cluster, it is > important, that the advertised port can be different from the actual socket > port. > I tested it with a Docker-Compose setup which runs 3 Kafka Broker in Kraft > mode and an Envoy proxy in front of them. With Apache Kafka 2.8.0 it does not > work, because Kafka does not advertise the configured advertised port. For > more details see: > https://github.com/ueisele/kafka/tree/fix/kraft-advertisedlisteners-build/proxy-examples/proxyl4-kafkakraft-bug-2.8 > _Client -- 909[1-3] --> Envoy Proxy -- 19092 --> Kafka Broker [1-3]_ > || Envoy Host || Envoy Port || Kafka Broker || Kafka Port || Advertised > Listener || > | envoy-kafka-broker | 9091 | kafka-broker1 | 19092 | envoy-kafka-broker:9091 > | > | envoy-kafka-broker | 9092 | kafka-broker2 | 19092 | envoy-kafka-broker:9092 > | > | envoy-kafka-broker | 9093 | kafka-broker3 | 19092 | envoy-kafka-broker:9093 > | > {code:bash} > > docker-compose exec kafkacat kafkacat -b envoy-kafka-broker:9091 -L > Metadata for all topics (from broker -1: envoy-kafka-broker:9091/bootstrap): > 3 brokers: > broker 101 at envoy-kafka-broker:19092 > broker 102 at envoy-kafka-broker:19092 (controller) > broker 103 at envoy-kafka-broker:19092 > 0 topics: > {code} -- This message was sent by Atlassian Jira (v8.3.4#803005)