Cilium
Cilium provides Kubernetes networking, network policy, and observability using eBPF on Linux.
Why consider Cilium?
Cilium leverages eBPF technology to provide high-performance networking, deep observability, and robust security for containerized environments. It operates primarily as a CNI for Kubernetes, replacing kube-proxy to optimize traffic flows.
Learn Cilium by building
Practical setup notes, real use cases, and copy-ready examples in one focused guide.
In this guide3 sections
eBPF Networking for Kubernetes
When scaling containerized infrastructure, traditional proxy-based routing and packet filtering can introduce unwanted latency and resource overhead. Cilium addresses these bottlenecks by operating deep within the Linux kernel. By taking advantage of extended Berkeley Packet Filter (eBPF) technology, Cilium provides a robust solution that intercepts traffic and applies policies without the overhead of user-space context switching.
As a high-performance alternative to traditional networking tools, Cilium leverages eBPF to provide networking, observability, and security features. It acts as the primary networking layer for cluster workloads, eliminating the need to rely exclusively on legacy mechanisms such as kube-proxy or standard iptables chains. This architecture enables highly efficient load balancing and granular network security policies that scale smoothly across large multi-node clusters.
Prerequisites for Deployment
Before deploying Cilium into a cluster, system administrators must ensure that the underlying host environment meets the project's specific system requirements. Because it dynamically injects bytecode programs into the kernel to manage the core data paths, the generic installation requires a Linux kernel version of 5.10 or newer.
Additionally, to properly orchestrate networking rules alongside container lifecycle events, you must configure Kubernetes to use CNI before installing Cilium. While some distributions ship with default Container Network Interface plugins already enabled, you might need to launch your cluster with a custom configuration that disables the default CNI so that Cilium can take its place seamlessly.
One of the significant advantages of this setup is the overall architectural simplicity it brings to cluster management. Cilium persists its state through Kubernetes Custom Resource Definitions instead of an external datastore. By avoiding a dependency on external key-value stores like an external etcd cluster, operations remain unified directly within the Kubernetes control plane.
Cluster Installation and Verification
The recommended way to deploy the networking fabric is via the dedicated CLI application. You can install it directly via the generic installation method on any properly prepared Kubernetes cluster.
To initiate the deployment into your current Kubernetes context, run the following official installation command:
cilium install --version 1.20.0Once the installation finishes, you need to verify that all nodes have successfully registered the new network plugin and that the agents are completely healthy. Operators can use the Cilium CLI to check the health and state of their deployment. Running standard commands like cilium status provides an immediate overview of cluster connectivity, internal controller status, and subsystem health, ensuring that your nodes are ready to handle cross-node pod-to-pod traffic securely.
For further details on deployment strategies or specific managed provider instructions, consult the official documentation at Cilium Documentation. The project repository can be found at github.com/cilium/cilium.
Related tools
More options with a similar category or technology profile.
dash.
Simple, modern server dashboard and hardware monitor for homelabs.
Xen Orchestra
Complete web-based management and backup solution for XCP-ng and XenServer.
Cockpit Project
Web-based graphical interface for Linux servers with zero overhead.
Kresus
Self-hosted personal finance manager with automatic bank synchronization.