Which kube-proxy mode is selected by default, and how does it affect latency?
0 reputation · 19 Nov 2022, 14:41 UTC
0 reputation · 19 Nov 2022, 14:41 UTC
The goal is to determine which kube-proxy mode is active when both iptables and IPVS are available, and how that choice influences network latency and throughput in large clusters.
Uncertainty stems from inconsistent default behavior across distributions and Kubernetes versions, with no explicit documentation stating the selection rule, and performance gains reported up to 30% with IPVS but varying with topology.
Which mode does kube-proxy select by default in a given environment? What is the impact of that selection on latency for clusters with more than 10,000 pods? How does kernel version support affect the reliability of IPVS versus iptables?
35775 reputation · 20 Nov 2022, 01:43 UTC
The default mode selected by kube-proxy is iptables. IPVS is not automatically selected; it requires explicit configuration, typically via the --mode=ipvs flag or distribution-specific overrides.
In environments exceeding 10,000 pods, the performance impact of the default iptables mode becomes significant due to linear rule traversal, potentially causing measurable node-level latency. Switching to IPVS is generally associated with a latency and throughput improvement of 10–30% in such large deployments because it utilizes kernel hash tables for faster service routing.
kube-proxy ConfigMap in the kube-system namespace to confirm the active mode.modprobe ip_vs and ipvsadm -l.To provide a definitive latency recommendation, please confirm the Kubernetes version and the underlying Linux kernel version running on the worker nodes.
Use comments to ask for clarification. Post a solution as an answer.
No question comments on this page.