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

Add AKS/EKS instructions #1649

Merged
merged 3 commits into from
Feb 14, 2025
Merged

Add AKS/EKS instructions #1649

merged 3 commits into from
Feb 14, 2025

Conversation

rafaelroquetto
Copy link
Contributor

Add context and instructions for running Beyla with reduced permissions on AKS/EKS.

@rafaelroquetto rafaelroquetto added the documentation Improvements or additions to documentation label Feb 12, 2025
@@ -68,6 +68,72 @@ Access to `CAP_PERFMON` is subject to `perf_events` access controls governed by

Some Linux distributions define higher levels for `kernel.perf_event_paranoid`, for example Debian based distributions [also use](https://lwn.net/Articles/696216/) `kernel.perf_event_paranoid=3`, which disallows access to `perf_event_open()` without `CAP_SYS_ADMIN`. If you are running on a distribution with `kernel.perf_event_paranoid` setting higher than `2`, you can either modify your configuration to lower it to `2` or use `CAP_SYS_ADMIN` instead of `CAP_PERFMON`.

### Deploying on AKS/EKS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Grafana.Gerunds] For a task-based heading, start with a bare infinitive, also known as a plain form or base form verb. In English, the imperative mood also uses the base form verb, so it looks the same as the bare infinitive. Task-based headings are frequently used in quickstarts, how-to documents, and tutorials. For a conceptual or non-task-based heading, use a noun phrase that doesn't start with an -ing verb. Noun-phrase headings are frequently used in concept documentation.

For more information, refer to https://developers.google.com/style/headings#heading-and-title-text.

If the rule is incorrect or needs improving, report an issue.

If you have reason to diverge from the style guidance, to skip a rule, refer to Skip rules.

@@ -68,6 +68,72 @@ Access to `CAP_PERFMON` is subject to `perf_events` access controls governed by

Some Linux distributions define higher levels for `kernel.perf_event_paranoid`, for example Debian based distributions [also use](https://lwn.net/Articles/696216/) `kernel.perf_event_paranoid=3`, which disallows access to `perf_event_open()` without `CAP_SYS_ADMIN`. If you are running on a distribution with `kernel.perf_event_paranoid` setting higher than `2`, you can either modify your configuration to lower it to `2` or use `CAP_SYS_ADMIN` instead of `CAP_PERFMON`.

### Deploying on AKS/EKS

Both AKS and EKS environments come with kernels that have `sys.perf_event_paranoid > 1` set by default, which means Beyla needs `CAP_SYS_ADMIN` to work (see [[#Performance monitoring tasks]]). If you'd prefer to use just `CAP_PERFMON`, you can configure your node to set `kernel.perf_event_paranoid = 1`. Below, we’ve provided a few examples of how to do this. Keep in mind that your results may vary depending on your specific setup.
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Grafana.SmartQuotes] Avoid smart quotes in the source file, especially in code blocks. Replace all smart double quotes like or with ". Replace all smart single quotes like , , or ʼ with '. In some contexts, Unicode characters aren't supported and break configurations. The website renders paired quotes using smart quotes in paragraphs.

If the rule is incorrect or needs improving, report an issue.

If you have reason to diverge from the style guidance, to skip a rule, refer to Skip rules.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The issue is likely to happen in we’ve where it should be we've. This error happens when you first write the text in rich-text editors e.g. Google Docs, and then copy paste the text here.

Copy link
Contributor Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Very nice catch @mariomac , thank you!


Both AKS and EKS environments come with kernels that have `sys.perf_event_paranoid > 1` set by default, which means Beyla needs `CAP_SYS_ADMIN` to work (see [[#Performance monitoring tasks]]). If you'd prefer to use just `CAP_PERFMON`, you can configure your node to set `kernel.perf_event_paranoid = 1`. Below, we’ve provided a few examples of how to do this. Keep in mind that your results may vary depending on your specific setup.

#### AKS
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

⚠️ [vale] reported by reviewdog 🐶
[Grafana.Headings] Use sentence-style capitalization for 'AKS'. Vale considers multi-word exceptions such as Grafana Enterprise Metrics as a single correctly cased word. If your heading contains capitalized words that represent product names, you need to add those words to the Grafana dictionary or the list of static exceptions in https://github.com/grafana/writers-toolkit/blob/main/vale/Headings.jsonnet for them to be considered correctly cased.

For more information, refer to https://developers.google.com/style/capitalization#capitalization-in-titles-and-headings.

If the rule is incorrect or needs improving, report an issue.

If you have reason to diverge from the style guidance, to skip a rule, refer to Skip rules.

Copy link
Contributor

@mariomac mariomac left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM

Copy link
Collaborator

@marevers marevers left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

LGTM, thanks for adding this info!

Copy link

codecov bot commented Feb 13, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 72.37%. Comparing base (3d18075) to head (c7a4895).
Report is 9 commits behind head on main.

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1649      +/-   ##
==========================================
+ Coverage   65.38%   72.37%   +6.99%     
==========================================
  Files         196      197       +1     
  Lines       19946    19955       +9     
==========================================
+ Hits        13041    14443    +1402     
+ Misses       6106     4824    -1282     
+ Partials      799      688     -111     
Flag Coverage Δ
integration-test 54.19% <ø> (+0.12%) ⬆️
k8s-integration-test 54.26% <ø> (-0.16%) ⬇️
oats-test 35.20% <ø> (-0.04%) ⬇️
unittests 47.76% <ø> (?)

Flags with carried forward coverage won't be shown. Click here to find out more.

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

@rafaelroquetto
Copy link
Contributor Author

(Rebase)

@rafaelroquetto rafaelroquetto merged commit 11072bd into main Feb 14, 2025
12 of 13 checks passed
@rafaelroquetto rafaelroquetto deleted the docs_paranoid branch February 14, 2025 14:48
Copy link
Contributor

The backport to release-2.0 failed:

The process '/usr/bin/git' failed with exit code 1

To backport manually, run these commands in your terminal:

# Fetch latest updates from GitHub
git fetch
# Create a new branch
git switch --create backport-1649-to-release-2.0 origin/release-2.0
# Cherry-pick the merged commit of this pull request and resolve the conflicts
git cherry-pick -x 11072bd713ba3af875192e307a05bb03ed73dc45

When the conflicts are resolved, stage and commit the changes:

git add . && git cherry-pick --continue

If you have the GitHub CLI installed:

# Push the branch to GitHub:
git push --set-upstream origin backport-1649-to-release-2.0
# Create the PR body template
PR_BODY=$(gh pr view 1649 --json body --template 'Backport 11072bd713ba3af875192e307a05bb03ed73dc45 from #1649{{ "\n\n---\n\n" }}{{ index . "body" }}')
# Create the PR on GitHub
echo "${PR_BODY}" | gh pr create --title '[release-2.0] Add AKS/EKS instructions' --body-file - --label 'documentation' --label 'backport' --label 'backport-2.0' --label 'type/docs' --base release-2.0 --milestone release-2.0 --web

Or, if you don't have the GitHub CLI installed (we recommend you install it!):

# Push the branch to GitHub:
git push --set-upstream origin backport-1649-to-release-2.0

# Create a pull request where the `base` branch is `release-2.0` and the `compare`/`head` branch is `backport-1649-to-release-2.0`.

# Remove the local backport branch
git switch main
git branch -D backport-1649-to-release-2.0

grafsean pushed a commit that referenced this pull request Feb 19, 2025
---------

Co-authored-by: Sean Packham <[email protected]>
(cherry picked from commit 11072bd)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants