Cilium eBPF-based Load Balancing

Cilium eBPF-based Load Balancing An architecture diagram generated by Archify. Pod A · Client · Architecture component Pod A Client 1. Packet Intercept · in-kernel · Kernel + eBPF Program (kube-proxy replacement) 1. Packet Intercept in-kernel 2. Service Map Lookup · eBPF map · Kernel + eBPF Program (kube-proxy replacement) 2. Service Map Lookup eBPF map 3. Backend Selection · load balancing algorithm · Kernel + eBPF Program (kube-proxy replacement) 3. Backend Selection load balancing algorithm 4. Packet Forwarding · DNAT to backend · Kernel + eBPF Program (kube-proxy replacement) 4. Packet Forwarding DNAT to backend Pod B · Server · Architecture component Pod B Server sent to Service IP delivered straight to Pod IP Kernel + eBPF Program (kube-proxy replacement) Legend Frontend Backend Database

eBPF-based Load Balancing

  • • kube-proxy replacement: service load balancing directly in the kernel
  • • Performance: lower latency by bypassing the network stack
  • • Scalability: supports large numbers of Services and endpoints
  • • Connection tracking optimization: efficient state management