Skip to content

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对应的很多规则

k8s iptable升级为ipvs