变更内容:修改kube-proxy的网络模式ifconfig为ipvs

1、加载内核模块

cat ipvs.modules
#!/bin/bash
ipvs_modules="ip_vs ip_vs_lc ip_vs_wlc ip_vs_rr ip_vs_wrr ip_vs_lblc ip_vs_lblcr ip_vs_dh ip_vs_sh ip_vs_nq ip_vs_sed ip_vs_ftp nf_conntrack"
for kernel_module in ${ipvs_modules}; do
/sbin/modinfo -F filename ${kernel_module} > /dev/null 2>&1
if [ 0 -eq 0 ]; then
/sbin/modprobe ${kernel_module}
fi
done

#赋权,执行脚本
chmod 755 ipvs.modules && bash ipvs.modules && lsmod | grep ip_vs

2、修改kube-proxy.service配置

#修改为ipvs模式,负载规则为轮询.
修改:
--proxy-mode=iptables \
改为:
--proxy-mode=ipvs \
--ipvs-scheduler=rr \

3、重启服务

systemctl daemon-reload
systemctl restart kube-proxy
systemctl status kube-proxy

4、验证

查看ipvs规则:
ipvsadm -Ln
同时机器会多出一个kube-ipvs0虚拟网络设备,用于绑定集群中的服务ip,既clusterip:
ip addr | grep kube-ipvs