在 Minikube 中运行 eBPF 工具
在 Minikube 中运行 eBPF 工具
概述
eBPF 工具是用于观察 Linux 内核的性能工具。这些工具可用于监控 minikube 中的 Kubernetes 应用程序。本教程将介绍如何设置 minikube 集群,以便您可以从 minikube 中的 Docker 容器运行 eBPF 工具。
要求
- 使用 VM 驱动程序(而不是 docker 或 podman)
- x86(目前 bcc 镜像 不支持 arm64)
- 最新的 minikube 版本
教程
首先,使用 VM 驱动程序启动 minikube
$ minikube start --vm=true
现在,您可以在 minikube 中以 Docker 容器的形式运行 BCC 工具
$ 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
Unable to find image 'zlim/bcc:latest' locally
latest: Pulling from zlim/bcc
6cf436f81810: Pull complete
987088a85b96: Pull complete
b4624b3efe06: Pull complete
d42beb8ded59: Pull complete
90970d1ebfd9: Pull complete
29c3815350eb: Pull complete
e21dfbd8fcfc: Pull complete
Digest: sha256:914bea8970535cd6b0d5dee13f99569c5f0d597942c8333c0aa92443473aff27
Status: Downloaded newer image for zlim/bcc:latest
PCOMM PID PPID RET ARGS
runc 5059 2011 0 /usr/bin/runc --version
docker-init 5065 2011 0 /usr/bin/docker-init --version
nice 5066 4012 0 /usr/bin/nice -n 19 du -x -s -B 1 /var/lib/kubelet/pods/1cf22976-f3e0-498b-bc04-8c7068e6e545/volumes/kubernetes.io~secret/storage-provisioner-token-cvk4x