cilium is a free, open source monitoring & observability project written in Go and released under Apache-2.0. It has 25,232 GitHub stars, 4,071 forks and 1,085 open issues, and was last pushed 8 hours ago. On this registry it ranks #10 of 97 tracked projects in Monitoring & Observability, with 5 head-to-head comparisons available. It gained 88 stars over the last 3 tracked days.

What is cilium?

What it is

Cilium is a networking, observability, and security solution built on an eBPF-based dataplane, written in Go and licensed under Apache-2.0. It lives in the Kubernetes ecosystem as a CNI implementation, and it is a CNCF project. At its foundation is eBPF, a Linux kernel technology that allows dynamic insertion of bytecode at integration points such as network IO, application sockets, and tracepoints, which is where Cilium implements its networking, security, and visibility logic. The project provides a flat Layer 3 network that can span multiple clusters in either native routing or overlay mode, and it is L7-protocol aware.

The concrete problem Cilium solves is the cost and the limits of the default Kubernetes dataplane. It implements distributed load balancing for traffic between pods and toward external services, and it can fully replace kube-proxy by using efficient hash tables in eBPF, which allows for almost unlimited scale. It enforces network policy across L3 through L7 with an identity-based security model that is decoupled from network addressing, so policy follows workload identity rather than IP allocation. On top of that it offers deep network and security visibility and monitoring, integrated ingress and egress gateways, bandwidth management, and service mesh functionality, which together remove the need to bolt several separate components onto a cluster.

Key capabilities

  • eBPF-based dataplane that inserts bytecode into the Linux kernel at network IO, application socket, and tracepoint integration points.
  • Flat Layer 3 network with multi-cluster support in native routing or overlay mode.
  • Identity-based security model decoupled from network addressing, enforcing policy from L3 through L7.
  • Full replacement for kube-proxy via distributed load balancing over eBPF hash tables, targeting almost unlimited scale.
  • Integrated ingress and egress gateways.
  • Bandwidth management and service mesh functionality.
  • Deep network and security visibility and monitoring.
  • Software Bill of Materials in SPDX format included in every image since version 1.13.0.

Who uses it and how

  • Kubernetes clusters that need a CNI with policy enforcement, replacing the default kube-proxy dataplane.
  • Multi-cluster deployments that require a flat Layer 3 network spanning clusters in native routing or overlay mode.
  • Teams enforcing L3-L7 network policy tied to workload identity rather than IP addressing.
  • Operators needing ingress and egress gateways, bandwidth management, or service mesh without extra components.
  • Platform and security teams consuming network and security visibility for monitoring and incident work.
project readme (upstream, from github) — read inline

.. raw:: html

Cilium Logo

|cii| |go-report| |clomonitor| |artifacthub| |slack| |go-doc| |rtd| |apache| |bsd| |gpl| |fossa| |gateway-api| |codespaces|

Cilium is a networking, observability, and security solution with an eBPF-based dataplane. It provides a simple flat Layer 3 network with the ability to span multiple clusters in either a native routing or overlay mode. It is L7-protocol aware and can enforce network policies on L3-L7 using an identity-based security model that is decoupled from network addressing.

Cilium implements distributed load balancing for traffic between pods and to external services, and is able to fully replace kube-proxy, using efficient hash tables in eBPF, allowing for almost unlimited scale. It also supports advanced functionality like integrated ingress and egress gateways, bandwidth management, and service mesh, and provides deep network and security visibility and monitoring.

A new Linux kernel technology called eBPF_ is at the foundation of Cilium. It supports dynamic insertion of eBPF bytecode into the Linux kernel at various integration points such as: network IO, application sockets, and tracepoints to implement security, networking, and visibility logic. eBPF is highly efficient and flexible. To learn more about eBPF, visit eBPF.io_.

.. image:: Documentation/images/cilium-overview.png :alt: Overview of Cilium features for networking, observability, service mesh, and runtime security

.. raw:: html

CNCF Graduated Project

Stable Releases

The Cilium community maintains minor stable releases for the last three minor Cilium versions. Older Cilium stable versions from minor releases prior to that are considered EOL.

For upgrades to new minor releases, please consult the Cilium Upgrade Guide_.

Listed below are the actively maintained release branches along with their latest patch release, corresponding image pull tags and their release notes:

+---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | v1.20 __ | 2026-08-18 | quay.io/cilium/cilium:v1.20.1 | Release Notes __ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | v1.19 __ | 2026-08-18 | quay.io/cilium/cilium:v1.19.7 | Release Notes __ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+ | v1.18 __ | 2026-08-18 | quay.io/cilium/cilium:v1.18.13 | Release Notes __ | +---------------------------------------------------------+------------+------------------------------------+----------------------------------------------------------------------------+

Architectures

Cilium images are distributed for AMD64 and AArch64 architectures.

Software Bill of Materials

Starting with Cilium version 1.13.0, all images include a Software Bill of Materials (SBOM). The SBOM is generated in SPDX_ format. More information on this is available on Cilium SBOM_.

.. _SPDX: https://spdx.dev/ .. _Cilium SBOM: https://docs.cilium.io/en/latest/configuration/sbom/

Development

For development and testing purposes, the Cilium community publishes snapshots, early release candidates (RC) and CI container images built from the main branch _. These images are not for use in production.

For testing upgrades to new development releases, please consult the latest development build of the Cilium Upgrade Guide_.

Listed below are branches for testing along with their snapshots or RC releases, corresponding image pull tags and their release notes where applicable:

+----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ | main __ | daily | quay.io/cilium/cilium-ci:latest | N/A | +----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+ | v1.21.0-pre.2 __ | 2026-09-09 | quay.io/cilium/cilium:v1.21.0-pre.2 | Release Notes __ | +----------------------------------------------------------------------------+------------+-----------------------------------------+---------------------------------------------------------------------------------+

Functionality Overview

.. begin-functionality-overview

CNI (Container Network Interface)

Cilium as a CNI plugin _ provides a fast, scalable, and secure networking layer for Kubernetes clusters. Built on eBPF, it offers several deployment options:

  • Overlay networking: an encapsulation-based virtual network spanning all hosts with support for VXLAN and Geneve. It works on almost any network infrastructure as the only requirement is IP connectivity between hosts which is typically already given.

  • Native routing mode: Use of the regular routing table of the Linux host. The network must be capable of routing the IP addresses of the application containers. It integrates with cloud routers, routing daemons, and IPv6-native infrastructure.

  • Flexible routing options: Cilium can automate route learning and advertisement in common topologies such as using L2 neighbor discovery when nodes share a layer 2 domain, or BGP when routing across layer 3 boundaries.

Each mode is designed for maximum interoperability with existing infrastructure while minimizing operational burden.

Load Balancing

Cilium implements distributed load balancing for traffic between application containers and to/from external services. The load balancing is implemented in eBPF using efficient hash tables, enabling high service density and low latency at scale.

  • East-west load balancing rewrites service connections at the socket level (connect()), avoiding the overhead of per-packet NAT and fully replacing kube-proxy _.

  • North-south load balancing supports XDP for high-throughput scenarios and layer 4 load balancing _ including Direct Server Return (DSR), and Maglev consistent hashing.

Cluster Mesh

Cilium Cluster Mesh _ enables secure, seamless connectivity across multiple Kubernetes clusters. For operators running hybrid or multi-cloud environments, Cluster Mesh ensures a consistent security and connectivity experience.

  • Global service discovery: Workloads across clusters can discover and connect to services as if they were local. This enables fault tolerance, like automatically failing over to backends in another cluster, and exposes shared services like logging, auth, or databases across environments.

  • Unified identity model: Security policies are enforced based on identity, not IP address, across all clusters.

Network Policy

readme truncated — read the full docs on github

Frequently asked questions

Is cilium free to use?

cilium is open source under the Apache-2.0 licence. There is no licence fee and no seat count — you can self-host it or, where the project offers one, pay a vendor for a managed version instead.

What does cilium do?

eBPF-based Networking, Security, and Observability

What is cilium written in?

cilium is primarily written in Go. Its source is publicly available at https://github.com/cilium/cilium, and it has 25,232 GitHub stars.