检查是否有ipvs 所需模块
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
nf_conntrack_ipv4
查看是否被加载
[root@k8s-master1 ~]# ls /usr/lib/modules/3.10.0-514.el7.x86_64/kernel/net/netfilter/ipvs/ |grep -e ip_vs
ip_vs_dh.ko
ip_vs_ftp.ko
ip_vs.ko
ip_vs_lblc.ko
ip_vs_lblcr.ko
ip_vs_lc.ko
ip_vs_nq.ko
ip_vs_pe_sip.ko
ip_vs_rr.ko
ip_vs_sed.ko
ip_vs_sh.ko
ip_vs_wlc.ko
ip_vs_wrr.ko
[root@k8s-master1 ~]# ls /usr/lib/modules/3.10.0-514.el7.x86_64/kernel/net/ipv4/netfilter/ |grep nf_conntrack_ipv4
nf_conntrack_ipv4.ko
或
lsmod | grep -e ip_vs -e nf_conntrack_ipv4
或
cut -f1 -d " " /proc/modules | grep -e ip_vs -e nf_conntrack_ipv4
没有这些模块,使用以下命令加载
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
在使用IPVS模式之前,还应在节点上安装ipset等软件包。
默认情况下,Kube-proxy在以kubeadm部署的集群中以iptables模式运行。查看日志如下
[root@k8s-master1 ~]# kubectl logs kube-proxy-5hrkc -n kube-system
W1231 02:00:36.140360 1 server_others.go:559] Unknown proxy mode "", assuming iptables proxy
I1231 02:00:36.153776 1 node.go:136] Successfully retrieved node IP: 172.23.5.158
I1231 02:00:36.153813 1 server_others.go:186