底层流量转发与负载均衡实现:
• Iptables(默认)
• IPVSlinux
了解代理模式之IPVS工做原理
LVS 基于 IPVS内核调度模块实现的负载均衡。算法
# 查看路由对应关系 , 须要先下载ipvsadm工具
ipvsadm -ln vim
注:内核态处理。负载均衡
IPVS:
• 工做在内核态,有更好的性能
• 调度算法丰富:rr,wrr,lc,wlc,ip hash..ide
安装:yum -y install ipvsadm工具
开启使用IPVS模式
一、Node:启用IPVS模式,修改配置文件性能
KUBE_PROXY_OPTS="--logtostderr=true \ --v=4 \ --hostname-override=192.168.1.110 \ --cluster-cidr=10.0.0.0/24 \ --proxy-mode=ipvs \ --masquerade-all=true \ # 指定默认调度算法 --ipvs-scheduler=wrr \ --kubeconfig=/opt/kubernetes/cfg/kube-proxy.kubeconfig"
二、重启kube-proxyspa
systemctl restart kube-proxy
iptables实现是经过linux内核,实现linux内核级防火墙。
查看全部规则:iptables-save more
原理:经过iptables为访问来源建立许多规则,全部规则从上到下进行匹配。
问题:
一、建立不少iptables规则(更新,非增量式)
二、iptables规则从上到下逐条匹配(延时大)
三、用户态处理代理
Iptables:
• 灵活,功能强大(能够在数据包不一样阶段对包进行操做)
• 规则遍历匹配和更新,呈线性时延rest