两种代理模式
官方文档地址:
Iptables 模式
IPVS 模式
开启 kube-proxy 的 ipvs 前置条件
从 kubernetes 的 1.8 版本开始,kube-proxy 引入了 ipvs 模式,ipvs 模式与 iptables 同样基于 Netfilter,但是 ipvs 模式采用的是 hash 表,因此当 service 数量达到一定规模时,hash 查表的速度优势就会显现出来,从而提高 service 的服务性能
# 1、安装ipvsadm 和 ipset
dnf -y install ipvsadm ipset
# 2、编辑 ipvs.modules 配置文件,使其永久生效
mkdir -p /etc/sysconfig/modules
vim /etc/sysconfig/modules/ipvs.modules
# 3、填写如下内容
modprobe -- ip_vs
modprobe -- ip_vs_rr
modprobe -- ip_vs_wrr
modprobe -- ip_vs_sh
modprobe -- br_netfilter
modprobe -- nf_conntrack
# 4、设置文件权限
chmod 755 /etc/sysconfig/modules/ipvs.modules
# 5、查看是否已经正确加载所需的内核模块
bash /etc/sysconfig/modules/ipvs.modules && lsmod | grep -e ip_vs -e nf_conntrack
vim /etc/modules-load.d/ipvs.conf
ip_vs
ip_vs_rr
ip_vs_wrr
ip_vs_sh
br_netfilter
nf_conntrack
配置 kube-proxy 开启 ipvs