首页 > 系统相关 >k8s iptables 改造ipvs

k8s iptables 改造ipvs

时间:2022-11-10 15:22:41浏览次数:49  
标签:iptables kubectl kube system ipvs conntrack k8s

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-proxy

kubectl -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

相关文章