diff --git a/README.md b/README.md index 18741ac8..382c1f66 100644 --- a/README.md +++ b/README.md @@ -11,6 +11,7 @@ of [bpftrace](https://github.com/iovisor/bpftrace) programs in your Kubernetes c * [Source](#source) * [Packages](#packages) + [Arch - AUR](#arch---aur) +- [Architecture](#architecture) - [Usage](#usage) * [Run a program from string literal](#run-a-program-from-string-literal) * [Run a program from file](#run-a-program-from-file) @@ -49,6 +50,16 @@ If you use `yay` to manage AUR packages you can do: yay -S kubectl-trace-git ``` +## Architecture + +Since it is a kubectl plugin, kubectl-trace doesn't require you to install any component directly +to your kubernetes cluster in order to execute your bpftrace programs, however when you point it to +a cluster, it will schedule a temporary job there called `trace-runner` that executes the program. + +This figure, shows the general idea: + +![Kubectl trace architecture diagram](docs/img/kubectl-trace-architecture.png) + ## Usage You don't need to setup anything on your cluster before using it, please don't use it already @@ -63,7 +74,6 @@ on the node `ip-180-12-0-152.ec2.internal`. kubectl trace run ip-180-12-0-152.ec2.internal -e "tracepoint:syscalls:sys_enter_* { @[probe] = count(); }" ``` - ### Run a program from file Here we run a program named `read.bt` against the node `ip-180-12-0-152.ec2.internal` diff --git a/docs/img/kubectl-trace-architecture.png b/docs/img/kubectl-trace-architecture.png new file mode 100644 index 00000000..31d4c5fe Binary files /dev/null and b/docs/img/kubectl-trace-architecture.png differ