Kubernetes service 代理模式

底层流量转发与负载均衡实现:
• Iptables(默认)
• IPVS

IPVS

了解代理模式之IPVS工作原理
LVS 基于 IPVS内核调度模块实现的负载均衡。

Kubernetes service 代理模式-LMLPHP

# 查看路由对应关系 , 需要先下载ipvsadm工具
ipvsadm -ln

注:内核态处理。

IPVS:
• 工作在内核态,有更好的性能
• 调度算法丰富:rr,wrr,lc,wlc,ip hash..

安装:yum -y install ipvsadm

开启使用IPVS模式
1、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"

vim /opt/kubernetes/cfg/kube-proxy

2、重启kube-proxy

systemctl restart kube-proxy

IPtables

iptables实现是通过linux内核,实现linux内核级防火墙。
查看所有规则:iptables-save more
原理:通过iptables为访问来源创建许多规则,所有规则从上到下进行匹配。
问题:
  1、创建很多iptables规则(更新,非增量式)
  2、iptables规则从上到下逐条匹配(延时大)
  3、用户态处理

Iptables:
  • 灵活,功能强大(可以在数据包不同阶段对包进行操作)
  • 规则遍历匹配和更新,呈线性时延

Kubernetes service 代理模式-LMLPHP

05-18 01:27