Skip to content

Commit 6d0e8ba

Browse files
Vipin KumarVipin Kumar
authored andcommitted
addressed review comments
1 parent 7624397 commit 6d0e8ba

File tree

3 files changed

+20
-14
lines changed

3 files changed

+20
-14
lines changed
Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,12 +1,18 @@
1-
When attempting to deploy the agents to cluster nodes on RH CoreOS that have no public gateways enabled (and/or have outbound traffic disabled), the pods fail to come up with the error:
2-
```
3-
Download of sysdigcloud-probe for version 13.9.2 failed.
4-
curl: (28) Failed to connect to download.sysdig.com port 443: Connection timed out
5-
Cannot load the probe
6-
```
7-
8-
This happens because the agent tries to connect to the kernel and for that it needs a kernel module (default behaviour):
9-
- If not available in the machine already, it tries to build it with the kernel headers
10-
- if kernel headers not available, it tries to download it
11-
12-
To fix this, we need the ability to set the helm values `agent.ebpf.enabled` and `agent.ebpf.kind` if cluster is using nodes based on RHCOS by setting the terraform boolean input variable called `enable_universal_ebpf` to true. Enabling universal ebpf needs kernel version to be `5.8` or higher. RHEL8 already has the kernel headers and enabling `ebpf` will not cause any impact even though kernel version is `4.18`.
1+
## When to Enable `enable_universal_ebpf`
2+
3+
For Clusters using Red Hat CoreOS (RHCOS) or RHEL 9 nodes with restricted outbound internet access, the monitoring agent pods may fail to start due to the inability to retrieve kernel modules which are necessary for the agent to connect with kernel.
4+
5+
Setting the Terraform variable `enable_universal_ebpf` to `true` ensures the agent uses eBPF-based instrumentation, which avoids the need for external downloads and allows successful deployment in restricted environments.
6+
7+
### When Should You Enable It?
8+
9+
Set `enable_universal_ebpf` to true if:
10+
11+
- Your cluster nodes run on RHCOS or RHEL 9 and do not have public or outbound internet access.
12+
- You want to avoid relying on dynamic downloads for kernel modules.
13+
14+
### Kernel Compatibility
15+
16+
- **RHCOS and RHEL9**: Since kernel version **5.14** is used. Default value for variable has been set to true.
17+
- **RHEL 8**: Although it uses kernel version **4.18**, the necessary kernel headers are pre-installed, so enabling eBPF is safe and has no impact.
18+

solutions/fully-configurable/variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -235,6 +235,6 @@ variable "agent_limits_memory" {
235235

236236
variable "enable_universal_ebpf" {
237237
type = bool
238-
description = "Deploy sysdig agent with universal eBPF enabled. It requires kernel version 5.8+. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-monitoring-agent/tree/main/solutions/fully-configurable/DA-docs.md)."
238+
description = "Deploy monitoring agent with universal eBPF enabled. It requires kernel version 5.8+. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-monitoring-agent/tree/main/solutions/fully-configurable/DA-docs.md)."
239239
default = true
240240
}

variables.tf

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -259,6 +259,6 @@ variable "agent_limits_memory" {
259259

260260
variable "enable_universal_ebpf" {
261261
type = bool
262-
description = "Deploy sysdig agent with universal eBPF enabled. It requires kernel version 5.8+."
262+
description = "Deploy monitoring agent with universal eBPF enabled. It requires kernel version 5.8+. [Learn more](https://github.com/terraform-ibm-modules/terraform-ibm-monitoring-agent/tree/main/solutions/fully-configurable/DA-docs.md)."
263263
default = true
264264
}

0 commit comments

Comments
 (0)