iptable升级为ipvs
每个节点操作
shell
#永久
[root@node2 ~]# cat > /etc/sysconfig/modules/ipvs.modules <<EOF
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- nf_conntrack_ipv4
EOF
[root@node2 ~]# lsmod|grep ip_vs
[root@node2 ~]# yum install ipvsadm ipset -y
#临时
[root@node2 ~]# modprobe -- ip_vs
[root@node2 ~]# modprobe -- ip_vs_rr
[root@node2 ~]# modprobe -- ip_vs_wrr
[root@node2 ~]# modprobe -- ip_vs_sh
[root@node2 ~]# modprobe -- nf_conntrack_ipv4
[root@node2 ~]# lsmod|grep ip_vs
ip_vs_sh 12688 0
ip_vs_wrr 12697 0
ip_vs_rr 12600 17
ip_vs 145458 23 ip_vs_rr,ip_vs_sh,ip_vs_wrr
nf_conntrack 139264 7 ip_vs,nf_nat,nf_nat_ipv4,xt_conntrack,nf_nat_masquerade_ipv4,nf_conntrack_netlink,nf_conntrack_ipv4
libcrc32c 12644 4 xfs,ip_vs,nf_nat,nf_conntrack
shell
#主节点
[root@master ~]# kubectl edit configmap kube-proxy -n kube-system
********
minSyncPeriod: 0s
scheduler: ""
syncPeriod: 30s
kind: KubeProxyConfiguration
metricsBindAddress: 127.0.0.1:10249
mode: "ipvs" # 修改此处
nodePortAddresses: null
******
#删除所有kube-proxy的pod
[root@master~]# kubectl delete pod xxx -n kube-system
#校验
[root@master~]# kubectl logs kube-proxy-xxx -n kube-system
#日志出现Using ipvs Proxier即可
#检查ipvs代理规则
[root@master~]# kubectl get svc --all-namespaces
[root@xxxx~]# ipvsadm -ln
# 可以看到service对应的很多规则