-
Notifications
You must be signed in to change notification settings - Fork 4.9k
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
Add eBPF related kernel options #14316
Add eBPF related kernel options #14316
Conversation
iso-menuconfig would do nothing related to buildroot configurations with the changes added with arm64. Signed-off-by: Francis Laniel <[email protected]>
This package is needed to build the kernel when using CONFIG_DEBUG_INFO_BTF. Signed-off-by: Francis Laniel <[email protected]>
Hi @eiffel-fl. Thanks for your PR. I'm waiting for a kubernetes member to verify that this patch is reasonable to test. If it is, they should reply with Once the patch is verified, the new status will be reflected by the I understand the commands that are listed here. Instructions for interacting with me using PR comments are available here. If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. |
Can one of the admins verify this patch? |
This config option permits indicating the Linux kernel needs pahole to be compiled. Thus, host-pahole will be built before the kernel. This is mandatory when using CONFIG_DEBUG_INFO_BTF. Signed-off-by: Francis Laniel <[email protected]>
Signed-off-by: Francis Laniel <[email protected]>
ab8b187
to
6a0eea2
Compare
ok-to-build-iso |
Hi @eiffel-fl, we have updated your PR with the reference to newly built ISO. Pull the changes locally if you want to test with them or update your PR further. |
/ok-to-test |
kvm2 driver with docker runtime
Times for minikube start: 51.3s 51.2s 52.1s 52.3s 51.6s Times for minikube ingress: 28.1s 29.6s 28.6s 25.1s 25.6s docker driver with docker runtime
Times for minikube (PR 14316) start: 23.7s 24.5s 24.2s 23.7s 24.4s Times for minikube ingress: 21.9s 25.9s 21.9s 22.5s 22.0s docker driver with containerd runtime
Times for minikube start: 29.8s 33.1s 31.9s 32.1s 31.0s Times for minikube ingress: 32.4s 18.9s 18.9s 18.9s 18.9s |
These are the flake rates of all failed tests.
Too many tests failed - See test logs for more details. To see the flake rates of all tests by environment, click here. |
[APPROVALNOTIFIER] This PR is APPROVED This pull-request has been approved by: eiffel-fl, spowelljr The full list of commands accepted by this bot can be found here. The pull request process is described here
Needs approval from an approver in each of these files:
Approvers can indicate their approval by writing |
Thank you a lot for the merge :D :D :D! |
I'm ecstatic that this has been merged! Thanks a lot, @eiffel-fl, for the amazing work! Can we just use it? Will there be a release candidate that includes new Kernel upgrades? Or is there an easy way to grab an image from the merged commits? |
Hi @ALL, I'm trying to run ebpf programs with the latest minikube version (1.26.0), but it is not working. $ minikube ssh -- docker run --rm --privileged -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -v /etc/localtime:/etc/localtime:ro --workdir /usr/share/bcc/tools zlim/bcc ./execsnoop
chdir(/lib/modules/5.10.57/build): No such file or directory
Traceback (most recent call last):
File "/usr/share/bcc/tools/execsnoop", line 165, in <module>
b = BPF(text=bpf_text)
File "/usr/lib/python2.7/dist-packages/bcc/__init__.py", line 325, in __init__
raise Exception("Failed to compile BPF text")
Exception: Failed to compile BPF text
ssh: Process exited with status 1
$ minikube ssh -- uname -a
Linux minikube 5.10.57 #1 SMP Thu Jun 16 23:36:20 UTC 2022 x86_64 GNU/Linux
$ minikube ssh -- ls /lib/modules/5.10.57/
Module.symvers modules.alias modules.builtin.alias.bin modules.dep modules.order modules.symbols.bin
extra modules.alias.bin modules.builtin.bin modules.dep.bin modules.softdep
kernel modules.builtin modules.builtin.modinfo modules.devname modules.symbols I suppose it should work. Maybe, I'm missunderstunding something? I really appreciate your help. Thanks in advance. |
Hi. I tested your case and was indeed able to reproduce. $ minikube start --driver=kvm
...
$ minikube ssh
$ docker run --rm --privileged -v /lib/modules:/lib/modules:ro -v /usr/src:/usr/src:ro -v /etc/localtime:/etc/localtime:ro --workdir /usr/share/bcc/tools quay.io/iovisor/bcc ./execsnoop
Unable to find image 'quay.io/iovisor/bcc:latest' locally
latest: Pulling from iovisor/bcc
68e7bb398b9f: Pull complete
aa73686fdcd4: Pull complete
7e88b7dfb0a8: Pull complete
Digest: sha256:63f8262abfa9e8fc531f23c960b27736c75d1f13fff20d9c34d3387391232dd9
Status: Downloaded newer image for quay.io/iovisor/bcc:latest
PCOMM PID PPID RET ARGS
runc 5067 920 0 /usr/bin/runc --version
docker-init 5072 920 0 /usr/bin/docker-init --version
iptables 5073 2273 0 /usr/sbin/iptables -w 5 -W 100000 -S KUBE-PROXY-CANARY -t mangle
runc 5074 920 0 /usr/bin/runc --version
docker-init 5079 920 0 /usr/bin/docker-init --version
runc 5080 920 0 /usr/bin/runc --version
runc 5081 920 0 /usr/bin/runc --version
runc 5087 920 0 /usr/bin/runc --version
runc 5088 920 0 /usr/bin/runc --version
runc 5092 920 0 /usr/bin/runc --version
runc 5101 920 0 /usr/bin/runc --version
runc 5107 920 0 /usr/bin/runc --version
... Also, please be aware than "bcc based" eBPF tools (also known as "standard") are a bit old and are not the more recent way to interact with eBPF. I hope it solves your problem, otherwise feel free to ping. Best regards. |
Thanks @eiffel-fl, you are right, the proposed docker image is working as expected. Sorry for bothering you, but there are a lot of old info about eBPF and I am lost ... I will take a look to CO-RE tools. Thanks again! :) |
You are welcome :).
No problem, it is a bit normal to be lost when learning eBPF. |
Hi.
This PR permits using
minikube
5.10 kernel to develop eBPF related feature.It follows #12707.
I use it as my daily driver and I know developers from Polar Signals use it too.
I was able to build the images and run them:
The implementation of this feature is not perfect (particularly the backporting of upstream buildroot patch) but I think this is the only solution we have since some upstream patches are not part of last buildroot LTS.
Best regards and thank you in advance.