With this FastPath module, about 20% latency between Pods that resident on different Nodes can be reduced. After the datapath performance profile, the Netfilter hooks inside container netns and between tunnel endpoints contribute a large portion of the CPU time. This Kube-OVN FastPath module can help bypass the unnecessary Netfilter hooks to reduce the latency and CPU and improve the throughput at the same time.
As kernel modules must be compiled with related kernel headers, users must compile their module with related kernel headers.
- Install the requirements, make sure the kernel-header version is equal to the one used on Kubernetes nodes
On RPM related OS:
yum install -y kernel-devel-$(uname -r) gcc elfutils-libelf-devel
On DEB related OS:
apt install linux-headers-$(uname -r) make gcc-12
- Build the module, for 3.x kernel go to the
3.x
dir, for 4.x ~ 6.x kernel go to the4.x-6.x
dir
make all
- Copy the module file
kube_ovn_fastpath.ko
to Kubernetes nodes and install
insmod kube_ovn_fastpath.ko
- Use
dmesg
to verify install success
[619631.323788] init_module,kube_ovn_fastpath_local_out
[619631.323798] init_module,kube_ovn_fastpath_post_routing
[619631.323800] init_module,kube_ovn_fastpath_pre_routing
[619631.323801] init_module,kube_ovn_fastpath_local_in
- Remove the module
rmmod kube_ovn_fastpath.ko
NOTE: You also need to add config to load the module at boot time to survive a reboot.