1.修改iptables 为ipvs 模式
ipvs 采用的 hash 表,iptables 采用一条条的规则列表。集群数量越多 iptables 规则就越多,而 iptables 规则是从上到下匹配,所以效率就越是低下。因此当 service 数量达到一定规模时,hash 查表 的速度优势就会显现出来,从而提高 service 的服务性能
2. ipvs 代替iptables
2.1 所有节点安装配置 ipvsadm
yum install -y ipvsadm ipset sysstat conntrack libseccomp
所有节点配置 ipvs 模块(在内核 4.19版本的 nf_conntrack_ipv4 已经改为 nf_conntrack)
cat > /etc/sysconfig/modules/ipvs.modules <<EOF #!/bin/bash modprobe -- ip_vs modprobe -- ip_vs_rr modprobe -- ip_vs_wrr modprobe -- ip_vs_sh modprobe -- nf_conntrack_ipv4 modprobe -- ip_tables modprobe -- ip_set modprobe -- xt_set modprobe -- ipt_set modprobe -- ipt_rpfilter modprobe -- ipt_REJECT modprobe -- ipip EOF chmod 755 /etc/sysconfig/modules/ipvs.modules bash /etc/sysconfig/modules/ipvs.modules && lsmod |grep -e ip_vs -e nf_conntrack_ipv4 3.删除原来的kube-proxykubectl -n kube-system get pod -l k8s-app=kube-proxy | grep -v 'NAME' | awk '{print $1}' | xargs kubectl -n kube-system delete pod
4.修改 kube-proxy 模式为 "ipvs" kubectl -n kube-system edit cm kube-proxy mode: "ipvs" 5. 清除防火墙规则iptables -t filter -F; iptables -t filter -X; iptables -t nat -F; iptables -t nat -X
6.修改完ipvs过5、6分钟验证 ipvsadm -ln
标签:iptables,kubectl,kube,system,ipvs,conntrack,k8s From: https://www.cnblogs.com/zbhlinux/p/16877134.html