Cilium — Network Control & Data Plane

Kubernetes
Network
Published

May 21, 2025

Modified

May 21, 2025

Overview

Cilium1 integrates with Kubernetes networking & security through a CNI plugin

Foundation of Cilium is a Linux kernel technology called eBPF2

  • …eBPF can run sandboxed programs in an operating system kernel
  • …enables users to dynamically extend the capabilities of the kernel
  • Leveraging Linux eBPF Cilium can…
    • …provide security visibility & enforcement based on service & pod identity
    • …facilitate traditional layer 3 and layer 4 segmentation
    • …filter an application layer (e.g. HTTP) …decouple security from addressing

Functionality of Cilium with Kubernetes3

  • …CNI plugin to provide pod networking with multi-cluster support
    • full replacement kube-proxy
    • …includes ClusterIP …load-balanced pod-to-pod communication
    • …network policy based isolation of pod-to-pod L3/4 communication
  • Extension of network policy with CRDs
    • …L7 policy enforcement on ingress/egress (e.g. HTTP protocol)
    • …egress support for CIDRs to secure access to external services

IP Address Manager

IPAM (IP Address Manager)

>>> cilium config view | grep cluster-pool
cluster-pool-ipv4-cidr                 10.0.0.0/8
cluster-pool-ipv4-mask-size            24
ipam                                   cluster-pool
  • …each Kubernetes node will have a 24-bit subnet

Network Policy

Configure network policies natively with Kubernetes…

  • NetworkPolicy4 …L3/4 policies at ingress/egress of pods
  • CiliumNetworkPolicy …policies at L3-7 for ingress/egress
    • …functionality which is not yet supported in NetworkPolicy
  • CiliumClusterwideNetworkPolicy …policies non-namespaced & cluster-scoped

Load Balancer

LB IPAM5 Assign IP addresses to Services of type LoadBalancer

  • In conjunction with advertisement over…
    • Cilium BGP Control Plane
    • Cilium L2 Announcements/L2 Aware LB

L2 Announcements

Make services visible and reachable on the local are network