Cilium Agent
The cilium agent is a daemon that runs on each Kubernetes node. It reads cluster rules and loads eBPF programs into the Linux kernel. Platform teams deploy this agent as a standard DaemonSet across every worker host. Many teams grant broad cluster admin roles during setup to speed up testing. Broad roles let any operator change node rules or inspect live traffic. How the cilium agent works on each node The cilium agent runs as a user space process on every Linux host. It talks to the Kubernet
Open Policy Agent (OPA) + Cilium Network Policies: the complete guide
Architecture patterns, implementation strategies, and security best practices. Delivered to your inbox.
The cilium agent is a daemon that runs on each Kubernetes node. It reads cluster rules and loads eBPF programs into the Linux kernel. Platform teams deploy this agent as a standard DaemonSet across every worker host. Many teams grant broad cluster admin roles during setup to speed up testing. Broad roles let any operator change node rules or inspect live traffic.
How the cilium agent works on each node
The cilium agent runs as a user space process on every Linux host. It talks to the Kubernetes API server to watch pods, services, and rules. When a new pod starts, the agent assigns an identity to that workload. It does not rely on legacy IP tables to route or block packets. Instead, the agent compiles eBPF bytecode and loads it into the host kernel. The kernel runs these programs at network hooks when packets enter or leave. This design lets the node filter traffic and balance loads at high speed. The agent also collects flow logs and metrics from the kernel data path. It shares state with other nodes through custom resources or a key store. Each node agent works on its own if the control plane goes down. Existing pods keep talking while the agent waits for the API server.
What native node permissions solve and leave open
Kubernetes role bindings control who can view or edit the agent pod set. Teams use role rules to stop developers from deleting the network daemon. This setup controls who can log in to the cluster API server. Still, native cluster roles leave a major gap during live node repair. Engineers often need shell access to an agent pod to check map state. Once an engineer opens a shell, Kubernetes stops checking individual commands in flight. A user with exec rights can run any tool inside the privileged container. They can dump packet data, flush kernel maps, or alter local host settings. Standard role rules decide who enters the pod, not what commands run inside. Audit logs record the session start, but they miss the exact shell actions. Data masking is also absent when raw packet dumps show sensitive payload fields. If a command prints emails, phone numbers, or card numbers, raw text appears.
Managing node agent checks and day-to-day operations
Daily operations require teams to check agent health and kernel map sync state. When a network rule fails, operators inspect the local state on that node. Giving every on-call engineer full node rights creates high risk for the team. A single typo in a debug command can drop traffic for all pods. Teams should separate read-only state checks from commands that change kernel maps. Operators also need clear logs of every action taken inside the system namespace. Separating routine status checks from full shell sessions keeps the node network safe. Teams also benefit when data masking rewrites emails or national IDs in output.
Open Policy Agent (OPA) + Cilium Network Policies: architecture patterns and best practices
Continue reading? Get the full guide.
Free. No spam. Unsubscribe anytime.
Check database and API queries on the wire
Identity tools, roles, and network rules decide who opens a session. Setup alone cannot check what each query does or mask sensitive values in a response once a session starts. When workflows touch Postgres, MySQL, SQL Server, MongoDB, ClickHouse, Kubernetes APIs, SSH, or internal HTTP APIs, hoop.dev sits inline in the wire protocol beside those services as an open-source proxy, a sidecar for your Postgres or API. On every query an AI agent or engineer runs against production, hoop.dev decides to pass, mask, block, or hold it for human review.
Your login details and client tools stay as they are while hoop.dev guardrails refuse bad deletes or drops before they run, and hoop.dev data masking rewrites matched sensitive values in responses in memory. Furthermore, hoop.dev holds SOC 2 Type II, is MIT licensed, and writes every query and decision to an audit trail that generates evidence for HIPAA, GDPR, and PCI DSS. See the source on GitHub.
Frequently asked questions
What happens to pod traffic if the cilium agent restarts?
Existing network traffic keeps flowing because eBPF programs stay inside the Linux kernel. New pods must wait for the agent to finish starting before getting network rules.
How does the cilium agent replace kube-proxy on a node?
The agent loads eBPF programs that handle service load balancing at the socket layer. This removes the need to maintain long lists of IP tables rules.
Why does the cilium agent need elevated Linux kernel permissions?
The process must load eBPF bytecode and manage kernel maps on the host. Linux requires elevated capabilities for any user space app that changes kernel networking.
Related guides
In this post