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

Feature request: Helm Chart and Docker image #82

Closed
maxenglander opened this issue Oct 10, 2020 · 4 comments
Closed

Feature request: Helm Chart and Docker image #82

maxenglander opened this issue Oct 10, 2020 · 4 comments

Comments

@maxenglander
Copy link
Contributor

Hello!

We are starting to use this in our Kubernetes worker nodes. We are using https://github.com/vanneback/ebpf_exporter_helm (plus several fixes) to deploy it. Unfortunately, that chart does not seem to be actively maintained, and, as far as I can tell, there is no authoritative, well-maintained image on DockerHub for ebpf_exporter.

It would be great if there was an authoritative Helm chart and Docker image for this project. What do you think? If you like the idea, I'd be happy to contribute.

Thanks :)

@bobrik
Copy link
Contributor

bobrik commented Nov 20, 2020

Packaging it in a docker container is tricky, you end up doing things like this:

Or having to bind mount a lot of things from the host. It gets trickier when you start thinking about multiple host distros (people running CentOS for example) or cases when they may have kernels not available in repos of the image (we have our internal kernel in internal repos).

At Cloudflare we run ebpf_exporter directly on the host to avoid all these issues, which means that we'd have to carry code we don't necessarily exercise. I think it may be easier to keep Docker image external for now.

@maxenglander
Copy link
Contributor Author

Agree that it's a bit hacky to apt-get install linux-headers, and gets brittle quickly. I can also understand not wanting to maintain a Docker image / Helm chart when that's not something Cloudflare has internal use for.

FWIW, I think bind-mounting kernel source/headers is relatively light-weight operationally, and less brittle. We try to keep our hosts as "dumb" as possible, and put as much logic as we can in K8S, in part because we like the API and operational mechanics of it more than we like our host-management tooling.

For a Helm chart, I think one could take a "batteries not included approach", and require users to either mount volumes (which are commonly configurable in charts for infra components) and/or supply a command or entrypoint that installs the needed. files via package manager, wget from internal repo, etc.

@bobrik
Copy link
Contributor

bobrik commented Oct 21, 2022

Now that we switched to libbpf, the amount of stuff you need to bind-mount is very manageable (it can be zero).

I opened #153 to add a docker image.

@bobrik
Copy link
Contributor

bobrik commented Dec 29, 2023

Helm chart note: #336.

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

No branches or pull requests

2 participants