Cilium (computing)

Cilium
Original authorsThomas Graf,
Daniel Borkmann,
André Martins,
Madhusudan Challa
DevelopersOpen source community, Isovalent, Google, Microsoft, Datadog, Red Hat, Cloud Native Computing Foundation
ReleaseDecember 16, 2015; 10 years ago (2015-12-16)
Stable release
1.20.4 / 23 October 2026 (2026-10-23)
Written inGo, eBPF, C, C++
Operating systemLinux, Windows
Platformx86-64, ARM
Available inEnglish
TypeCloud-native Networking, Security, Observability
LicenseApache License 2.0,
Dual GPL-2.0-only or BSD-2-clause for eBPF
Websitecilium.io
Repositorygithub.com/cilium

Cilium is a cloud native technology for networking, observability, and security. It is based on the kernel technology eBPF, originally for better networking performance, and now leverages many additional features for different use cases. The core networking component has evolved from only providing a flat Layer 3 network for containers to including advanced networking features, like BGP and Service mesh, within a Kubernetes cluster, across multiple clusters, and connecting with the world outside Kubernetes. Hubble was created as the network observability component and Tetragon was later added for security observability and runtime enforcement. Cilium runs on Linux and is one of the first eBPF applications being ported to Microsoft Windows through the eBPF on Windows project.

History

Evolution from Networking CNI (Container Network Interface)

Cilium began as a networking CNI for container workloads. It was originally IPv6 only and supported multiple container orchestrators, like Kubernetes. The original vision for Cilium was to build an intent and identity-based high-performance container networking platform. As the cloud native ecosystem expanded, Cilium added new projects and features to address new problems in the space.

The table below summarises some of the most significant milestones of this evolution:

CNCF

Cilium was accepted into the Cloud Native Computing Foundation on October 13, 2021 as an incubation-level project. It applied to become a graduated project on October 27, 2022. It became a Graduated project one year later. Cilium is one of the fastest-moving projects in the CNCF ecosystem.

Adoption

Cilium has been adopted by many large-scale production users, including over 100 that have stated it publicly, for example:

  • Datadog uses Cilium as their CNI and kube-proxy replacement
  • Ascend uses Cilium as their one CNI across multiple cloud providers
  • Bell Canada uses Cilium and eBPF for telco networking
  • Cosmonic uses Cilium for their Nomad-based PaaS
  • IKEA uses Cilium for their self-hosted bare-metal private cloud
  • S&P Global uses Cilium as its CNI
  • Sky uses Cilium as their CNI and for network security
  • The New York Times uses Cilium on EKS for multi-region multi-tenant shared clusters
  • Trip.com uses Cilium both on premise and in AWS
  • OpenAI uses Cilium as their CNI
  • Palantir uses Cilium as their CNI across all major cloud providers
  • TikTok uses Cilium as their CNI in their IPv6-only datacenters

Cilium is the CNI for many cloud providers including Alibaba, APPUiO, Azure, AWS, DigitalOcean, Exoscale, Google Cloud, Hetzner, and Tencent Cloud.

Projects overview

Cilium

Cilium began as a container networking project. With the growth of Kubernetes and container orchestration, Cilium became a CNI, providing basic things like configuring container network interfaces and Pod to Pod connectivity. From the beginning, Cilium based its networking on eBPF rather than iptables or IPVS, betting that eBPF would become the future of cloud native networking.

Cilium’s eBPF based dataplane provides a simple flat Layer 3 network with the ability to span multiple clusters in either a native routing or overlay mode with Cilium Cluster Mesh. It is Layer 7-protocol aware and can enforce network policies on Layer 3 to Layer 7 and with FQDN 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 XDP, socket-based load-balancing and efficient hash tables in eBPF. It also supports advanced functionality like integrated ingress and egress gateways, bandwidth management, a stand-alone load balancer, and service mesh.

Cilium is the first CNI to support advanced kernel features such as BBR TCP congestion control and BIG TCP for Kubernetes Pods.

Hubble

Hubble is the observability, service map, and UI of Cilium which is shipped with the CNI. It can be used to observe individual network packet flows, view network policy decisions to allow or block traffic, and build up service maps showing how Kubernetes services are communicating. Hubble can export this data to Prometheus, OpenTelemetry, Grafana, and Fluentd for further analysis of Layer 3/4 and Layer 7 metrics.

Tetragon

Tetragon is the security observability and runtime enforcement project of Cilium. Tetragon is a flexible Kubernetes-aware security observability and runtime enforcement tool that applies policy and filtering directly with eBPF. It allows users to monitor and observe the complete lifecycle of every process execution on their machine, translate policies for file monitoring, network observability, container security, and more into eBPF programs, and do synchronous monitoring, filtering, and enforcement completely in the kernel.

Go eBPF Library

ebpf-go is a pure-Go library to interact with the eBPF subsystem in the Linux kernel. It has minimal external dependencies, emphasises reliability and compatibility, and is widely deployed in production.

Pwru

pwru ("Packet, where are you?") is an eBPF-based tool for tracing network packets in the Linux kernel with advanced filtering capabilities. It allows fine-grained introspection of kernel state to facilitate debugging network connectivity issues. Under the hood, pwru attaches eBPF debugging programs to all Linux kernel functions which are responsible for processing network packets.

This gives a user finer-grained view into a packet processing in the kernel than with tcpdump, Wireshark, or more traditional tools. Also, it can show packet metadata such as network namespace, processing timestamp, internal kernel packet representation fields, and more.

Use cases

Networking

Cilium began as a networking project and has many features that allow it to provide a consistent connectivity experience from Kubernetes workloads to virtual machines and physical servers running in the cloud, on-premises, or at the edge. Some of these include:

  • Container Network Interface (CNI) - Provides networking for Kubernetes clusters
  • Layer 4 Load Balancer - Based on Maglev and XDP for handling north/south traffic
  • Cluster Mesh - Combines multiple Kubernetes clusters into one network
  • Bandwidth and Latency Optimization - Fair Queueing, TCP Optimization, and Rate Limiting
  • kube-proxy replacement - Replaces iptables with eBPF hash tables
  • BGP - Integrates into existing networks and provides load balancing in bare metal clusters
  • Egress Gateway - Provides a static IP for integration into external workloads
  • Service Mesh - Includes ingress, TLS termination, canary rollouts, rate limiting, and circuit breaking
  • Gateway API - Fully conformant implementation for managing ingress into Kubernetes clusters
  • SRv6 - Defines packet processing in the network as a program
  • BBR support for Pods - Allows for better throughput and latency for Internet traffic
  • NAT 46/64 Gateway - Allows IPv4 services to talk with IPv6 ones and vice versa
  • BIG TCP for IPv4/IPv6 - Enables better performance by reducing the number of packets traversing the stack
  • Cilium Mesh - Connects workloads running outside Kubernetes to ones running inside it

Observability

Being in the kernel, eBPF has complete visibility of everything that is happening on a machine. Cilium leverages this with the following features:

  • Service Map - Provides a UI for network flows and policy
  • Network Flow Logs - Provides Layer 3/4 and DNS visibility connected to identity
  • Network Protocol Visibility - Including HTTP, gRPC, Kafka, UDP, and SCTP
  • Metrics & Tracing Export - Sends data to Prometheus, OpenTelemetry, or other storage system

Security

eBPF can stop events in the kernel for security. Cilium projects leverage this through the following features:

  • Transparent Encryption - Utilizes either IPSec or WireGuard
  • Network Policy - Includes Layer 3 to Layer 7 and DNS-aware policies
  • Runtime Enforcement - Stops processes outside of policies with default policies
  • File Integrity Monitoring - Tracks modification to the system

Release timeline

Release timeline
Version Release date End of Life date Notes
Unsupported: 0.9 31 May 2017 10 September 2017 https://cilium.io/blog/2017/5/31/cilium-v09-released-hello-kubernetes/
Unsupported: 0.10 24 July 2017 30 November 2017 https://cilium.io/blog/2017/9/29/cilium-v010-v011-released-double-the-fun-two-updates-in-one/
Unsupported: 0.11 10 September 2017 24 April 2018 https://cilium.io/blog/2017/9/29/cilium-v010-v011-released-double-the-fun-two-updates-in-one/
Unsupported: 0.12 30 November 2017 26 June 2018 https://cilium.io/blog/2017/11/7/cilium-with-kafka/
Unsupported: 1.0 24 April 2018 23 October 2018 https://cilium.io/blog/2018/04/24/cilium-10/
Unsupported: 1.1.0 26 June 2018 12 February 2019 https://cilium.io/blog/2018/06/26/cilium-11/
Unsupported: 1.2.0 21 August 2018 29 April 2019 https://cilium.io/blog/2018/08/21/cilium-12/
Unsupported: 1.3.0 23 October 2018 20 August 2019 https://cilium.io/blog/2018/10/23/cilium-13-envoy-go/
Unsupported: 1.4.0 12 February 2019 19 February 2020 https://cilium.io/blog/2019/02/12/cilium-14/
Unsupported: 1.5.0 29 April 2019 22 June 2020 https://cilium.io/blog/2019/04/24/cilium-15/
Unsupported: 1.6.0 20 August 2019 10 November 2020 https://cilium.io/blog/2019/08/20/cilium-16/
Unsupported: 1.7.0 19 February 2020 20 May 2021 https://cilium.io/blog/2020/02/18/cilium-17/
Unsupported: 1.8.0 22 June 2020 9 December 2021 https://cilium.io/blog/2020/06/22/cilium-18/
Unsupported: 1.9.0 10 November 2020 19 July 2022 https://cilium.io/blog/2020/11/10/cilium-19/
Unsupported: 1.10 20 May 2021 18 April 2023 https://cilium.io/blog/2021/05/20/cilium-110/
Unsupported: 1.11 9 December 2021 25 July 2023 https://isovalent.com/blog/post/2021-12-release-111/
Unsupported: 1.12 19 July 2022 1 February 2024 https://isovalent.com/blog/post/cilium-release-112/
Unsupported: 1.13 15 February 2023 19 July 2024 https://isovalent.com/blog/post/cilium-release-113/
Unsupported: 1.14 25 July 2023 4 February 2025 https://isovalent.com/blog/post/cilium-release-114/
Unsupported: 1.15 1 February 2024 29 July 2025 https://isovalent.com/blog/post/cilium-1-15/
Unsupported: 1.16 25 July 2024 4 February 2026 https://isovalent.com/blog/post/cilium-1-16/
Unsupported: 1.17 4 February 2025 29 July 2026 https://github.com/cilium/cilium/releases/tag/v1.17.0
Supported: 1.18 29 July 2025 TBA https://github.com/cilium/cilium/releases/tag/v1.18.0
Supported: 1.19 4 February 2026 TBA https://github.com/cilium/cilium/releases/tag/v1.19.0
Latest version: 1.20 29 July 2026 TBA https://github.com/cilium/cilium/releases/tag/v1.20.0

Support windows

The chart below visualises the period for which each Cilium community release is maintained:

Community

Cilium's official website lists online forums, messaging platforms, and in-person meetups for the Cilium user and developer community.

Conferences

Conferences dedicated to Cilium development in the past have included:

  • CiliumCon EU 2023, held in conjunction with KubeCon + CloudNativeCon EU 2023
  • CiliumCon NA 2023, held in conjunction with KubeCon + CloudNativeCon NA 2023
  • CiliumCon EU 2024, held in conjunction with KubeCon + CloudNativeCon EU 2024
  • CiliumCon NA 2024 held in conjunction with KubeCon + CloudNativeCon NA 2024

Annual report

The Cilium community releases an annual report to cover how the community developed over the course of the year:

  • Cilium Annual Report 2022: Year of the CNI
  • Cilium Annual Report 2023: Year of Graduation
  • Cilium Annual Report 2024: Year of Kubernetes Networking
  • Cilium Annual Report 2025: Decade of Cloud Native Networking

See also