Skip to content
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

Mount config and use debian based image #46

Merged
merged 24 commits into from
Jul 27, 2017
Merged

Conversation

solsson
Copy link
Contributor

@solsson solsson commented Jul 26, 2017

We're adding ever more --override commands, as seen in for example #13 (comment). #41 will require some amazing bash one-line stuff, or that we use a script to modify the properties file. To keep options open here I'm (re-)introducing a ConfigMap for Kafka server start.

With this change we have to reflect on the assumptions we make about the Kafka image. Choice of shell and paths affect Kubernetes manifests. Choice of base image (contestant are Debian and Alpine) profoundly affects how the projects matures WRT for example resource limits. Maturity with Alpine would mean we risk lots if regressions if we switch. Thus I wanted to do some image work, as motivated solsson/dockerfiles#5.

I'm still hesitant about solsson/dockerfiles#10. The image will be a leaky abstraction anyway, and drop-in replacements are unlikely for the same reason as above of maturing.

solsson and others added 21 commits July 23, 2017 07:00
Use config map for broker configuration
tenfold in confusion caused by typos etc
you must use /opt/kafka/config, due to how log4j.properites
(sometimes tools- or connect-) are resolved by the ./bin scripts.

See solsson/dockerfiles#10
of not forwarding signals as Alpine did.
Kafka logs say nothing, and after 30s the container is terminated.
With /bin/bash instead the log indicates shutdown behavior.

This reverts commit c188f43.
modify config prior to kafka start. My aim with this is to
get rid of the /bin/sh startup scripts and use bin + args directly.
avoiding a layer of indirection and the associated gotchas with signals.
@solsson
Copy link
Contributor Author

solsson commented Jul 27, 2017

Learned that Debian's default shell has the same gotcha, when used as entrypoint, as Alpine's: a2d324d.

Anyway with the init container concept we don't need a wrapping shell anymore.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

1 participant