Comments (4)
@play-io Can you provide detailed steps for reproducing this issue?
Based on the given information, I can only tell that the new broker never gets registered to ZooKeeper, but can't tell what causes this without seeing the detailed steps and some logs
from koperator.
Dear @play-io !
Are you sure about you wanted to change the containerPort for the external listener?
Kafka listens on the specified containerPort in the pod but it is not the same as the exposed port which is available outside of the Kubernetes cluster through envoy. You have to configure the externalStartingPort to modify the advertised.listener port number. Currently the exposed port will be the externalStartingPort + brokerID.
More details:
and here: https://smm-docs.eticloud.io/sdm/koperator/external-listener/
from koperator.
Hi @panyuenlau
but can't tell what causes this without seeing the detailed steps and some logs
Makes sense. Steps to reproduce:
- Put incorrect (config options start with -) configuraiton into brokers template config
brokerConfigGroups:
default:
config: |-- "auto.create.topics.enable=false"
- "cruise.control.metrics.topic.auto.create=true"
- "cruise.control.metrics.topic.num.partitions=1"
- "cruise.control.metrics.topic.replication.factor=1"
- Assign the template to all brokers
brokers:
- id: 0
brokerConfigGroup: "default"
...
- Apply the new config to a cluster
- If after the new config is applied and brokers accessible then make a change to containerPort in externalListeners configuration.
Given you have
externalStartingPort: 19090
containerPort: 9095
Then change to
externalStartingPort: 19090
containerPort: 9096
Observations:
- Incorrect configuration somehow hasn't broken cluster from the beginning
- Just after making changes in externalListener ports.
Troubleshooting:
After the change my cluster was in Running state, but I could not access it:
envoy had correct (updated) configuration in the configmap
brokers exposed correct (updated) container port
BUT zookeeper. get /config/brokers/0 had advertised.listeners still pointing to port 9094
BUT zookeeper. get /config/brokers/1 did not exist
from koperator.
H @bartam1
Are you sure about you wanted to change the containerPort for the external listener?
Yes an I'm aware about its sense. Thanks for your comment
from koperator.
Related Issues (20)
- enable pprof on the metrics endpoint HOT 3
- Replace github.com/golang/mock[/mockgen] with github.com/uber-go/mock
- Cruise Control metrics reporter failing on k8s cluster with cgroup v2 HOT 3
- Fill the "Events" field with useful content
- Add file integrity checks to CI pipeline
- Validating webhook times out HOT 8
- Kraft support HOT 1
- Multiarch kafka-operator docker image
- istio merged metrics cannot be used HOT 5
- Adding a new SSL listener with hostnameOverride does not regenerate certificates HOT 1
- kafka docker image is not support arm HOT 4
- How to use grafana dashboard with koperator HOT 2
- Kafka coredump created for topic list command on Kafka broker HOT 1
- configuration for securityContext in the CRD for all pods created by operator HOT 1
- The default zookeeper service name created according to the Readme wrong
- Cruise Control is not ready (yet) HOT 2
- Issues with Kafka User creation
- failed to decode certificate
- Be able to set annotation on PVC spec
- Implement access control to Kafka consumer groups
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from koperator.