Kubernetes kümenizin düğüm (node) ve pod ölçeğine göre Cilium eBPF host routing, Calico eBPF ve klasik iptables CNI mimarilerinin pod gecikmesini, CPU ek yükünü ve sidecar-free mTLS RAM tasarrufunu hesaplayın.
Kube-Proxy Baypasli Dogrudan Host Routing, XDP ve Sockops
Felix eBPF Veri Duzlemi ve Entegre BGP Yonlendirme Motoru
Standart Linux Ag Yigiti ve Kube-Proxy Iptables Modu
Basit Katman 3 Kapsulleme Overlay Agi
# Cilium eBPF Native CNI Kurulumu (Helm v3) # Kube-proxy bilesenini tamamen devre disi birakarak eBPF host-routing aktif edilir helm repo add cilium https://helm.cilium.io/ helm repo update helm install cilium cilium/cilium --version 1.16.1 \ --namespace kube-system \ --set kubeProxyReplacement=true \ --set k8sServiceHost=KUBERNETES_API_IP \ --set k8sServicePort=6443 \ --set bpf.masquerade=true \ --set bpf.hostRouting=true \ --set tunnel=disabled \ --set autoDirectNodeRoutes=true \ --set hubble.relay.enabled=true \ --set hubble.ui.enabled=true
Kubernetes'in ilk yıllarında standart ağ katmanı kube-proxy ve Linux iptables üzerine kuruluydu. Ancak bir kümede pod ve servis sayısı binlere ulaştığında iptables kuralları O(N) sıralı arama yapmak zorunda kalır. Bir ağ paketi hedef pod'a ulaşmadan önce on binlerce kuralı tek tek tarar.
Ayrıca yüksek bağlantı frekansında (churn) Linux çekirdeğinin küresel bağlantı takip tablosu (nf_conntrack) spinlock kilitlenmelerine uğrar. Bu durum pod'lar arası P99 ağ gecikmesini 3 ila 6 milisaniyeye fırlatır ve düğüm CPU'sunun büyük bölümünü gereksiz kural değerlendirmelerine kurban eder.
Cilium, Linux çekirdeğinin soket katmanına (sockops) ve ağ bağdaştırıcısına (XDP / TC) doğrudan eBPF bayt kodları enjekte eder. Klasik çift veth çifti bağlam değişimini (context switch) ortadan kaldırarak paketi doğrudan fiziksel arayüz ile pod soketi arasında taşır.
Ağ ilkeleri (NetworkPolicy) ise eBPF Hash Haritaları (Bpf Maps) kullanılarak O(1) sabit zamanda sorgulanır; kümede 10 kural veya 10.000 kural olması paket gecikmesini değiştirmez (P99 < 0.85 ms). Ayrıca sidecar-free mTLS mimarisi sayesinde her pod'un yanına 50 MB RAM yiyen Envoy proxy ekleme zorunluluğunu ortadan kaldırarak devasa donanım tasarrufu sağlar.