-
Notifications
You must be signed in to change notification settings - Fork 735
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Switch from init container to sidecar, with Kafka 1.1.0 #167
Conversation
for future dynamic config support. Can be evaluated manually now (with Kafka 1.1.0) by exec to config pod and edit of server.properties there. If the init container is slow, which is unlikely, kafka will crash loop until server.properties exists and upon existence start normally.
Maybe we'd be better off with init an init script using We'd have to change how we gracefully handle zone lookup failures in the default script, but we could simplify the sed checking at the end. |
Created #168. I'm merging this now to 4.x so we can base testing on it. The only drawback I can see now is that I tend to get restarts=1 in pod listings, because init involving kubectl is slower than Kafka JVM start. |
To clarify: This PR did not introduce any support for actually changing any config dynamically, beyond what an upgrade to Kafka 1.1 does. It only recognizes that Updating Broker Configs is part broker-level. Annotations and labels may play a part here, as with Zookeeper. It's quite likely that the init script can be reduced in scope, because #78 can now be implemented (and customized) in a way that is persistent in ZooKeeper and takes precedence over server.properties.
@StevenACoffman Do you have ideas on the direction here? |
kubernetes/kubernetes#62078 (comment) would probably solve that together with:
|
... to set the stage for some kind of tooling around Kafka 1.1+ dynamic config. I'm particularily interested in runtime listeners reconfiguration, to better support out-of-cluster use cases such as #78.