Hi, I take it that the public IP for the bootstrap server means that you have Kafka client applications that run outside of your Kubernetes cluster. The bootstrap servers are basically a limited list of brokers that are used for initial connections to the Kafka cluster. The client gathers the information about the cluster, and determines which brokers are needed to work. Mostly the brokers that are the leaders of the partitions that you connect to. It will use the advertised listener addresses to connect to those brokers directly.
So with external clients, all brokers need to have a public/external IP address where they can be reached. You can reuse the same public IP addresses with a different port for a broker, for example with an external load balancer setup. I recommend using an Operator like Strimzi as it can become quite complicated to maintain and scale Kafka on Kubernetes, and they provide documentation on how to configure both Kubernetes, persistent volumes and networking. Kind regards, Richard Bosch Developer Advocate Axual BV https://axual.com/ On Mon, Nov 4, 2024 at 5:50 AM karan alang <karan.al...@gmail.com> wrote: > Hello All - > Anyone has installed Kafka on k8s, with only bootstrap server having Public > IP, while the brokers have Cluster IP. > > Objective being - to reduce the number of public IPs, this reducing cost & > also making the cluster secure > > However, what would the implication of this be on performance since the > bootstrap IP would become the bottleneck .. How to resolve this ? > > Anyone has implemented this & has feedback on this paradigm ? > > tia! >