Boost Kubernetes Pod‑to‑Pod Performance with istio‑tcpip‑bypass and eBPF
This article explains how the Intel istio‑tcpip‑bypass plugin leverages eBPF to bypass the host TCP/IP stack for intra‑node pod communication, provides environment setup, step‑by‑step deployment commands, and shows benchmark results that demonstrate 40‑80% latency reduction and throughput improvement.
Background
In edge and 5G scenarios, pods on the same node exchange large volumes of TCP traffic. The traditional path traverses the full kernel network stack (TCP/IP, netfilter, OVS), adding latency and limiting throughput.
Principle of istio‑tcpip‑bypass
The open‑source istio‑tcpip‑bypass plugin from Intel uses eBPF to automatically detect intra‑node TCP flows and redirects them away from the kernel stack, enabling direct socket‑to‑socket communication and reducing processing overhead.
Environment Preparation
eBPF requires a recent kernel. Ubuntu 20.04 with Linux 5.4.0‑74‑generic is recommended for the experiments.
Experiment Steps
Deploy two performance‑testing pods on the same node (use nodeSelector if the cluster has multiple nodes).
# kubectl create deployment perf --image=kubeovn/perf:dev --replicas=2
# kubectl get pod -o wide
NAME READY STATUS RESTARTS AGE IP NODE
perf-... 1/1 Running 0 ... 100.64.0.3 sealos
perf-... 1/1 Running 0 ... 100.64.0.2 sealosEnter one pod and start a qperf server; in the other pod start a qperf client to generate traffic.
# kubectl exec -it perf-...-b2cpv sh
/ # qperf
# kubectl exec -it perf-...-p2xpt sh
/ # qperf -t 60 100.64.0.3 -ub -oo msg_size:1:16K:*4 -vu tcp_lat tcp_bwDeploy the istio‑tcpip‑bypass daemonset.
# kubectl apply -f https://raw.githubusercontent.com/intel/istio-tcpip-bypass/main/bypass-tcpip-daemonset.yamlRe‑run the qperf client inside the same pod to measure the optimized path.
Test Results
The benchmarks show a 40%‑60% reduction in TCP latency across various packet sizes and a 40%‑80% increase in throughput for packets larger than 1024 bytes.
On the tested hardware, small packets (< 512 B) may see lower throughput with eBPF optimization due to default TCP‑segmentation offload settings; users should evaluate this case for workloads sensitive to small‑packet throughput.
References
istio‑tcpip‑bypass repository: https://github.com/intel/istio-tcpip-bypass
Tanzu Service Mesh Acceleration using eBPF: https://blogs.vmware.com/networkvirtualization/2022/08/tanzu-service-mesh-acceleration-using-ebpf.html/
Signed-in readers can open the original source through BestHub's protected redirect.
This article has been distilled and summarized from source material, then republished for learning and reference. If you believe it infringes your rights, please contactand we will review it promptly.
Cloud Native Technology Community
The Cloud Native Technology Community, part of the CNBPA Cloud Native Technology Practice Alliance, focuses on evangelizing cutting‑edge cloud‑native technologies and practical implementations. It shares in‑depth content, case studies, and event/meetup information on containers, Kubernetes, DevOps, Service Mesh, and other cloud‑native tech, along with updates from the CNBPA alliance.
How this landed with the community
Was this worth your time?
0 Comments
Thoughtful readers leave field notes, pushback, and hard-won operational detail here.
