I write the following content to /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
Then I execute sudo systemctl restart systemd-modules-load.service. However, its error shows,
Job for systemd-modules-load.service failed because the control process exited with error code.
Then I run sudo systemctl status systemd-modules-load.service, the error message shows that
...
Failed to find module 'ip_vs_wrr'
Failed to find module 'ip_vs_sh'
...
Then I use modprobe ip_vs_wrr, it returns the error message,
modprobe: FATAL: Module ip_vs_wrr not found in directory /lib/modules/4.9.201-tegra
I suppose that my system doesn't have ip_vs_wrr and ip_vs_sh module. My kernel version is Linux version 4.9.253-tegra and the system is Ubuntu 18.04.5 LTS. How can I load the ip_vs_wrr and ip_vs_sh module correctly? If I don't load these modules, can I still use kubernets successfully?
I'll answer to the last question which is directly related to kubernetes:
The answer is yes, you can use kubernetes.
There are 3 different modes of
kube-proxywhich can be used in kubernetes cluster:By default
iptablesis used. Usingipvsis reasonable if there are more than1000services within the cluster. For better understanding and comparison, you can read this article.If
ipvskernel modules are not available, cluster will start iniptablesmode. This is from official documentation: