ScriptsApr 16, 2026·3 min read

Tetragon — eBPF-Based Security Observability for Kubernetes

Tetragon provides real-time security observability and runtime enforcement using eBPF, giving deep visibility into process, file, and network activity in Kubernetes.

TL;DR
Tetragon uses eBPF to provide real-time security observability and runtime enforcement for process, file, and network activity in Kubernetes.
§01

What it is

Tetragon is a security observability and runtime enforcement tool built on eBPF. Developed by the Cilium/Isovalent team, it hooks directly into the Linux kernel to monitor process execution, file access, and network connections in real time. When deployed on Kubernetes, it provides deep visibility into container and pod behavior without modifying application code.

It is designed for security engineers, platform teams, and SREs who need runtime threat detection and policy enforcement at the kernel level.

The project is actively maintained with regular releases and a growing user community. Documentation covers common use cases, and the open-source nature means you can inspect the source code, contribute fixes, and adapt the tool to your specific requirements.

§02

How it saves time or tokens

Tetragon replaces multiple security agents (process monitors, file integrity checkers, network sniffers) with a single eBPF-based sensor. Because it operates in-kernel, there is no user-space context switching overhead. Security policies are defined as Kubernetes CRDs, fitting into GitOps workflows without custom scripting.

§03

How to use

  1. Install Tetragon on your Kubernetes cluster via Helm chart (helm install tetragon cilium/tetragon).
  2. Apply TracingPolicy CRDs to define which system calls, file paths, or network events to monitor.
  3. View security events through tetra CLI, JSON logs, or forward them to your SIEM via gRPC export.
§04

Example

# TracingPolicy: alert on any process executing in /tmp
apiVersion: cilium.io/v1alpha1
kind: TracingPolicy
metadata:
  name: detect-tmp-exec
spec:
  kprobes:
    - call: security_bprm_check
      syscall: false
      args:
        - index: 0
          type: linux_binprm
      selectors:
        - matchArgs:
            - index: 0
              operator: Prefix
              values:
                - /tmp/
§05

Related on TokRepo

§06

Common pitfalls

  • Tetragon requires a Linux kernel version 5.4+ with BTF (BPF Type Format) support. Older kernels or minimal container OS images may lack BTF.
  • Overly broad TracingPolicies (e.g., tracing all syscalls) generate excessive event volume and can impact node performance.
  • eBPF program verification failures produce cryptic kernel errors. Start with the example policies and iterate.
  • Tetragon's enforcement mode (killing processes that violate policy) is powerful but can break legitimate workloads if policies are too aggressive.
  • JSON event logs are verbose. Configure log rotation or streaming to an external system to avoid filling node disks.

Before adopting this tool, evaluate whether it fits your team's existing workflow. Read the official documentation thoroughly, and start with a small proof-of-concept rather than a full migration. Community forums, GitHub issues, and Stack Overflow are valuable resources when you encounter edge cases not covered in the documentation.

Frequently Asked Questions

What is eBPF and why does Tetragon use it?+

eBPF (extended Berkeley Packet Filter) allows sandboxed programs to run inside the Linux kernel without modifying kernel source code. Tetragon uses eBPF to intercept system calls and kernel events at near-zero overhead, providing security observability without kernel modules or user-space proxies.

How does Tetragon compare to Falco?+

Both are runtime security tools for Kubernetes. Falco uses a kernel module or eBPF probe to detect threats based on rules. Tetragon uses eBPF natively and adds runtime enforcement (process killing), not just detection. Tetragon policies are Kubernetes CRDs, while Falco uses YAML rules.

Can Tetragon enforce security policies or only monitor?+

Tetragon supports both monitoring and enforcement. In enforcement mode, it can kill processes, deny file access, or block network connections that violate a TracingPolicy. This happens in-kernel before the action completes.

Does Tetragon work outside Kubernetes?+

Yes. Tetragon can run as a standalone daemon on any Linux host with eBPF support. Kubernetes integration adds CRD-based policy management and pod-aware event labeling, but the core eBPF sensors work on bare-metal Linux.

What is the performance overhead of Tetragon?+

Tetragon's eBPF programs run in-kernel with minimal overhead, typically under 1% CPU for standard policies. Performance depends on the number and complexity of TracingPolicies. High-frequency syscall tracing on busy nodes will increase overhead.

Citations (3)

Discussion

Sign in to join the discussion.
No comments yet. Be the first to share your thoughts.

Related Assets