-
Notifications
You must be signed in to change notification settings - Fork 78
docs: add comprehensive troubleshooting guide #94
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
Open
Kadiyam-LakshmiPrasanna
wants to merge
5
commits into
optiqor:main
Choose a base branch
from
Kadiyam-LakshmiPrasanna:docs/troubleshooting-guide
base: main
Could not load branches
Branch not found: {{ refName }}
Loading
Could not load tags
Nothing to show
Loading
Are you sure you want to change the base?
Some commits from the old base branch may be removed from the timeline,
and old review comments may become outdated.
Open
Changes from all commits
Commits
Show all changes
5 commits
Select commit
Hold shift + click to select a range
b119192
docs: add comprehensive troubleshooting guide
Kadiyam-LakshmiPrasanna 753c84c
Fix markdown renderer formatting, wire to CLI, and add tests
Kadiyam-LakshmiPrasanna 84a4e12
Add comprehensive troubleshooting guide for common setup errors
Kadiyam-LakshmiPrasanna 8fdd6a7
docs: clarify build dependencies and update tracepoint troubleshooting
Kadiyam-LakshmiPrasanna 1a05853
style: fix formatting issues in render.go and render_test.go
Kadiyam-LakshmiPrasanna File filter
Filter by extension
Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
There are no files selected for viewing
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
| Original file line number | Diff line number | Diff line change |
|---|---|---|
| @@ -0,0 +1,34 @@ | ||
| 3# Troubleshooting Kerno | ||
|
|
||
| If you are experiencing issues while setting up or running Kerno, please check the common scenarios below. | ||
|
|
||
| ## 1. Installation & Dependencies | ||
| * **Error:** `clang: command not found` or `llvm: command not found` | ||
| * **Cause:** The required eBPF build toolchain is missing from your system. | ||
| * **Fix:** Install the necessary build dependencies: | ||
| ```bash | ||
| Note: These dependencies are only required for 'make build-ebpf'. | ||
| sudo apt-get update | ||
| sudo apt-get install clang llvm libbpf-dev bpftool | ||
|
Check warning on line 12 in TROUBLESHOOTING.md
|
||
| ``` | ||
|
|
||
| ## 2. Kernel & eBPF Errors | ||
| * **Error:** `/sys/kernel/btf not found` or `failed to load BPF program` | ||
| * **Cause:** Your current kernel version is likely older than 5.8 or lacks BPF Type Format (BTF) support. | ||
| * **Fix:** Ensure you are running a modern, managed Kubernetes distribution (EKS, GKE, AKS, etc.) or update your host kernel to 5.8+. | ||
| * Note: Kerno uses tracepoints, not kprobes. Ensure your kernel has BTF (BPF Type Format) | ||
|
Check warning on line 19 in TROUBLESHOOTING.md
|
||
| support enabled (available in kernels 5.8+). | ||
| * **Cause:** The kernel may have restrictions on attaching probes, or the specific tracepoint is unavailable. | ||
| * **Fix:** Verify your kernel headers are installed: `sudo apt-get install linux-headers-$(uname -r)`. | ||
|
|
||
| ## 3. Permissions | ||
| * **Error:** `permission denied` or `Operation not permitted` | ||
| * **Cause:** Kerno requires root-level privileges to interact with eBPF hooks in the kernel. | ||
| * **Fix:** * Always run locally with `sudo`: `sudo ./kerno doctor`. | ||
| * If running in Kubernetes, ensure your DaemonSet is configured with the necessary security capabilities: `CAP_BPF`, `CAP_PERFMON`, `CAP_SYS_PTRACE`, `CAP_NET_ADMIN`, and `CAP_DAC_READ_SEARCH`. | ||
|
|
||
| ## 4. Reporting New Issues | ||
| If your problem is not listed here: | ||
| 1. **Check existing issues:** See if another user has reported the same error on the [GitHub Issues page](https://github.com/optiqor/kerno/issues). | ||
| 2. **Gather context:** Run `uname -a` to get your kernel version and include it in your report. | ||
| 3. **Open a new issue:** Provide the full error logs and a brief description of how to reproduce the problem. | ||
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Oops, something went wrong.
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
worth a one-liner that
make buildneeds no clang, it uses bpf stubs. clang/llvm/libbpf are only formake build-ebpf. as written this reads like clang is required to set kerno up at all, which can scare off contributors who just want the stub build.