Kubernetes CNI ve eBPF Dataplane - Pod Paketi Gerçekte Nereden Geçiyor?
Kubernetes pod networking, CNI ve eBPF tabanlı dataplane mimarisini paket yolculuğu üzerinden inceliyoruz.
Hakan E. · · Akademi

Kubernetes bir Pod'a IP verdiğinde ağın nasıl kurulacağını tek başına belirlemez. CNI plugin pod'un network namespace'ine interface ekleyebilir, route oluşturabilir ve node üzerindeki dataplane kurallarını düzenleyebilir. Overlay kullanan yapılarda paket başka node'a giderken encapsulation görebilir. Routed yapılarda ise doğrudan L3 yönlendirme tercih edilebilir.
eBPF tabanlı dataplane'ler service load balancing, policy enforcement ve observability işlerinin bir bölümünü kernel içindeki hook noktalarına taşıyabilir. Böylece klasik iptables zincirlerinde binlerce kural dolaşmak yerine map lookup ve program logic kullanılabilir. Bu her zaman otomatik olarak daha hızlı demek değildir, fakat kontrol düzlemi ve dataplane tasarımı açısından farklı bir ölçekleme modeli sunar.
Bir pod diğer pod'a ulaşmıyorsa sırayla DNS, Service, endpoint, policy, route, encapsulation, MTU ve node firewall'ına bakmanız gerekebilir. Kubernetes networking size tek problem çözmez, size problemleri güzel isimlerle kategorize eder.