kafka pods will not deploy with type set to "loadbalancer" #4915
Replies: 1 comment 3 replies
-
When the loadbalancer type services are pending, it means the loadbalancers are not created and ready. And without that, Strimzi cannot move forward. Overriding the advertised hostname would not help you. The creation of the loadbalancers is up to Kubernetes. So if they are not creating and you think your infrastructure supports them, you need to check Kube logs or talk with your cluster admin etc. The lodbalancers in general are supported in clouds, but it could be that for example on bare-metal clusters etc. you might not have them. But it can also be that you run out of Loadbalancer quota, or do not have permissions to created them etc. So this basically depends on your infrastructure. |
Beta Was this translation helpful? Give feedback.
-
Problem:
When I deploy strimzi as a loadbalancer type, the zookeeper pods will deploy, but the kafka pods will never deploy. I see no way to check status to see why they never deploy. The External-IPs for for each "service/my-cluster-kafka-INTEGER", and the "service/my-cluster-kafka-external-boostrap" all show PENDING but never change.
Trouble shooting:
This section seems interesting:
"After Strimzi creates the load balancer type Kubernetes services, the load balancers will be automatically created. Most clouds will automatically assign the load balancer some DNS name and IP addresses. These will be automatically propagated into the status section of the Kubernetes service. trimzi will read it from there and use it to configure the advertised address in the Kafka brokers."
First of all, I am running this in a lab, not using cloud, so I control all DNS and configurations manually. I have done no such configurations (that I know of) Is this the issue? How would one configure these values manually?
The document goes on to read:
"for example when for whatever reason the DNS resolution doesn’t work for your Kafka clients. In that case you can override the advertised hostnames in the Kafka custom resource."
Questions: What is performing DNS resolution, and for what? The node IPs? what is the actual dig for resolution? where is it used? This maybe apparent in a cloud env, but does not make sense to me in my lab. Also its not clear what which DNS host resolver your referring to. Do you mean the internal kubernets dns driver? (I am using Calico in my case), or my actual external DNS servers for all hosts? Either way I tried to configure "advertisedHost" with FQDN of the nodes, thried their IPs, then tried unused ips and FQDN entries for those either.
Strimzi never seems to build the kafka brokers with type set to "loadbalancer". Is there someway I can check on the status of the job? What am I missing?
Here is my configuration file I am using.
Beta Was this translation helpful? Give feedback.
All reactions